一、DataSophon介绍
1.1、愿景
致力于快速实现部署、管理、监控以及自动化运维大数据云原生平台,帮助您快速构建起稳定、高效、可弹性伸缩的大数据云原生平台。
1.2、DataSophon是什么
《三体》,这部获世界科幻文学最高奖项雨果奖的作品以惊艳的"硬科幻"风被大家所熟知,其作者刘慈欣更是被誉为"单枪匹马将中国科幻提高到世界级水平"。
作为三体中非常重要的角色,智子(Sophon)是将九维的质子进行二维展开,通过电路蚀刻改造成超级计算机后,再转回到微观的十一维来监控人类的一举一动,并利用量子纠缠实现瞬时通信报告给4光年之外的三体文明。说白了智子是三体文明部署在地球的AI实时远程监控和管理平台。
DataSophon也是个类似的管理平台,只不过与智子不同的是,智子的目的是锁死人类的基础科学阻碍人类技术爆炸,而DataSophon是致力于自动化监控、运维、管理大数据基础组件和节点的,帮助您快速构建起稳定,高效的大数据集群服务。
1.3主要特性有:
- 快速部署,可快速完成300个节点的大数据集群部署
- 兼容复杂环境,极少的依赖使其很容易适配各种复杂环境
- 监控指标全面丰富,基于生产实践展示用户最关心的监控指标
- 灵活便捷的告警服务,可实现用户自定义告警组和告警指标
- 可扩展性强,用户可通过配置的方式集成或升级大数据组件
1.4、整体架构
1.5、集成组件
各集成组件均进行过兼容性测试,并稳定运行于300+个节点规模的大数据集群,日处理数据量约4000亿条。在海量数据下,各大数据组件调优成本低,平台默认展示用户关心和需要调优的配置。
序号名称版本描述1HDFS3.3.3分布式大数据存储2YARN3.3.3分布式资源调度与管理平台3ZooKeeper3.5.10分布式协调系统4Kafka2.4.1高吞吐量分布式发布订阅消息系统5Hive3.1.0离线数据仓库6FLINK1.16.2实时计算引擎7Spark3.1.3分布式计算系统8Hbase2.4.16分布式列式存储数据库9Trino367分布式Sql交互式查询引擎10Ranger2.1.0权限控制框架11ElasticSearch7.16.2高性能搜索引擎12StreamPark2.1.1流处理极速开发框架,流批一体&湖仓一体的云原生平台13DolphoinScheduler3.1.8分布式易扩展的可视化工作流任务调度平台14AlertManager0.23.0告警通知管理系统15Prometheus2.17.2高性能监控指标采集与告警系统16Grafana9.1.6监控分析与数据可视化套件17Kerberos1.15.1计算机网络认证协议18Doris1.2.6新一代极速全场景MPP数据库19Kyuubi1.7.3统一多租户JDBC网关20Iceberg1.4.0适用于庞大数据集分析的开放式数据表格式
二、部署准备
2.1、服务器
IP主机名CPU内存磁盘192.168.0.171ddp018c20G50G192.168.0.172ddp028c20G50G192.168.0.173ddp038c20G50G192.168.0.174ddp048c20G50G
2.2、主机名映射
配置/etc/hosts文件(四台服务器都需要,第一行localhost 需要根据不同服务器修改)
[root@ddp01 datasophon-manager-1.2.1]# vim /etc/hosts
192.168.0.171 localhost
192.168.0.171 ddp01
192.168.0.172 ddp02
192.168.0.173 ddp03
192.168.0.174 ddp04
配置主机host
大数据集群所有机器需配置主机host。
配置主机名: hostnamectl set-hostname 主机名
配置/etc/hosts文件
2.3、关闭防火墙
systemctl stop firewalld
systemctl disable firewalld
systemctl status firewalld
2.4、集群免密
部署机器中,DataSophon节点以及大数据服务主节点与从节点之间需免密登录。
配置免密
ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keys
2.5、系统文件句柄
vim /etc/security/limits.conf
# End of file
* soft nofile 65536
* hard nofile 131072
* soft nproc 2048
* hard nproc 65536
2.6、环境要求
Jdk环境需安装,参考:centos7.9 配置java1.8 环境变量-CSDN博客
MySQL安装参考:centos7.9 安装 mysql5.7 【详细教程】-CSDN博客
需关闭mysql ssl功能参考:mysql5.7.6关闭SSL-CSDN博客
2.7、创建目录
在ddp01(171)服务器/opt/datasophon目录下创建目录
mkdir -p /opt/datasophon/DDP/packages
将下载的部署包上传(或者使用软链)到/opt/datasophon/DDP/packages目录下,作为项目部署包仓库地址。
三、部署
3.1、解压
在安装目录下解压datasophon-manager-{version}.tar.gz,解压后可以看到如下安装目录:
cd /opt/datasophon/DDP/packages/
tar -zxvf datasophon-manager-1.2.1.tar.gz
DataSophon 的所有应用配置文件在 conf 目录下。如果需要使用 DataSophon 的全部功能,在这之前先了解一下如何进行配置
conf 目录结构如下:
|-- datasophon.conf
|-- logback-api.xml
|-- common.properties
|-- profiles
| |-- application-config.yml
datasophon.conf
为快捷配置文件;如果你只想快速体验 DataSophon 的功能,配置它就足够了。datasophon.conf 本质上是 application-config.yml 中常用配置的快捷方式
logback-api.xml
为日志配置文件
profiles/application-config.yml
为应用配置文件,包含所有的应用配置。
3.2、配置应用数据库
3.2.1、创建数据库,
指定数据库编码为UTF-8
CREATE DATABASE IF NOT EXISTS datasophon DEFAULT CHARACTER SET utf8;
grant all privileges on *.* to datasophon@"%" identified by 'datasophon' with grant option;
GRANT ALL PRIVILEGES ON *.* TO 'datasophon'@'%';
FLUSH PRIVILEGES;
3.2.2、修改配置
修改 conf 目录下的application.yml 配置文件中数据库链接配置(需要根据自己需要修改数据库名、用户和密码):
spring:
datasource:
driver-class-name: com.mysql.cj.jdbc.Driver
type: com.alibaba.druid.pool.DruidDataSource
url: jdbc:mysql://${datasource.ip:localhost}:${datasource.port:3306}/${datasource.database:datasophon}?&allowMultiQueries=true&characterEncoding=utf-8
username: datasophon
password: datasophon
server:
port: ${server.port:8081}
address: ${server.ip:0.0.0.0}
datasophon:
migration:
enable: true
3.2.3、启动服务
cd /opt/datasophon/DDP/packages/datasophon-manager-1.2.1
#启动
sh bin/datasophon-api.sh start api
#停止
sh bin/datasophon-api.sh stop api
#重启
sh bin/datasophon-api.sh restart api
3.2.4、部署成功后、可以进行日志查看
日志统一存放于logs文件夹内:
[root@ddp01 datasophon-manager-1.2.1]# cd logs/
[root@ddp01 logs]# ls -l
总用量 5020
-rw-r--r--. 1 root root 114998 7月 28 09:05 api-ddp01.out
-rw-r--r--. 1 root root 1341328 7月 27 16:59 datasophon-api.2024-07-27_16.0.log
-rw-r--r--. 1 root root 200702 7月 27 17:12 datasophon-api.2024-07-27_17.0.log
-rw-r--r--. 1 root root 509741 7月 27 20:59 datasophon-api.2024-07-27_20.0.log
-rw-r--r--. 1 root root 144099 7月 27 21:59 datasophon-api.2024-07-27_21.0.log
-rw-r--r--. 1 root root 82398 7月 27 22:59 datasophon-api.2024-07-27_22.0.log
-rw-r--r--. 1 root root 62032 7月 27 23:05 datasophon-api.2024-07-27_23.0.log
-rw-r--r--. 1 root root 112531 7月 28 08:59 datasophon-api.2024-07-28_08.0.log
-rw-r--r--. 1 root root 1372955 7月 27 16:59 datasophon-api-error.2024-07-27_16.0.log
-rw-r--r--. 1 root root 1146702 7月 27 17:08 datasophon-api-error.2024-07-27_17.0.log
-rw-r--r--. 1 root root 15260 7月 27 22:16 datasophon-api-error.2024-07-27_22.0.log
-rw-r--r--. 1 root root 6948 7月 27 23:05 datasophon-api-error.log
-rw-r--r--. 1 root root 706 7月 28 09:05 datasophon-api.log
访问前端页面地址, 默认用户名和密码为admin/admin123
http://192.168.0.171:8081/ddh/#/login
3.3、创建集群
3.3.1、登录进入系统页面后在集群管理页面创建集群
DataSophon支持多集群管理和授予用户集群管理员权限。
3.3.2、点击【创建集群】
输入集群名称,集群编码(集群唯一标识),集群框架。
3.3.3、创建成功后点击【配置集群】:
根据提示,输入主机列表(注意:主机名需与在准备环境中hostnamectl set-hostname 设置的主机名一致),ssh用户名默认为root和ssh端口默认为22。
3.3.4、配置完成后,点击【下一步】,系统开始链接主机并进行主机环境校验。
3.3.5、主机环境校验成功后点击【下一步】
主机agent分发步骤将自动分发datasophon-worker组件,并启动WorkerApplicationServer。
3.3.6、主机管理Agent分发完成后,点击【下一步】,开始部署服务。
初始化配置集群先选择部署AlertManager,Grafana和Prometheus三个组件。DataSophon依赖此三个组件实现系统监控告警管理。
3.3.7、点击【下一步】
分配AlertManager,Grafana和Prometheus服务的worker与client服务角色部署节点,没有worker和client服务角色的可以跳过之间点击【下一步】。
3.7.8、修改各服务配置。系统已给出默认配置,大部分情况下无需修改。
3.7.9、点击【下一步】开始服务安装,可实时查看服务安装进度。
3.7.10、点击【完成】,在集群管理页面点击【进入】,即可进入集群服务组件管理页面。
3.4、配置个人电脑映射
配置正在访问集群的hosts(我这里是windows,配置路径C:\Windows\System32\drivers\etc)
集群访问组件页面时用的是hostname
四、服务安装
4.1、添加ZooKeeper。
分配ZooKeeper master服务角色部署节点,zk需部3台或5台。
Zk没有worker与client服务角色,直接点击【下一步】跳过。
根据实际情况修改Zk服务配置。
点击【下一步】,进行zk服务安装。
安装成功后即可查看Zookeeper服务总览页面。
4.2、添加HDFS
其中JournalNode需部署三台,NameNode部署两台,ZKFC和NameNode部署在相同机器上。如下图:
点击【下一步】,选择DataNode部署节点。
根据实际情况修改配置,例如修改DataNode数据存储目录。
点击【下一步】,开始安装Hdfs。
安装成功后,即可查看HDFS服务总览页面。
4.3、添加YARN
其中ResourceManager需部署两台作高可用。如下图:
点击【下一步】,选择NodeManager部署节点。
根据实际情况修改配置。
点击【下一步】,开始安装YARN。
4.4、添加Spark
选择SPARK3。
Spark没有Master角色,直接点击【下一步】。
分配服务Worker与Client角色
根据实际情况修改配置
点击【下一步】,安装Spark。
安装成功后,即可查看SPARK3服务总览页面。
4.5、添加Flink
选择Flink
FLink没有Master角色,选择分配服务Worker与Client角色
根据需要配置服务
点击【下一步】,安装FLink。
安装成功后,即可查看FLINK服务总览页面。
4.6、添加Hive
在数据库中创建Hive数据库。
CREATE DATABASE IF NOT EXISTS hive DEFAULT CHARACTER SET utf8;
grant all privileges on *.* to hive@"%" identified by 'hive' with grant option;
GRANT ALL PRIVILEGES ON *.* TO 'hive'@'%';
FLUSH PRIVILEGES;
选择需要安装hiveserver2和metastore角色的节点
HIVE没有Master节点
选择需要安装hiveclient角色的节点
根据实际情况修改配置
等待安装完成,安装成功后即可查看Hive服务总览页面
安装成功后可查看Hive总览页面。
4.7、添加Kafka
选择安装kafka服务broker角色的节点
分配服务Worker与CLient角色
根据实际情况调整Kafka参数。
点击下一步 等待安装完成
Kafka安装成功后,即可在Kakfa服务总览页查看Kafka详情。
4.8、添加Hbase
点击【添加服务】,选择Hbase。
选择HMaster。
选择RegionServer。
可根据需要修改服务配置。
点击【下一步】开始安装Hbase。
安装成功后可查看Hbase总览页面。
4.9、添加Trino
点击【添加服务】,选择Trino。
选择TrinoCoordinator。
选择TrinoWorker。注意:TrinoCoordinator和TrinoWorker不要部署在同一台机器上。
注意"Trino最大堆内存","每个查询在单个节点可使用最大内存"这两个配置,其中"每个查询在单个节点可使用最大内存"不可超过"Trino最大堆内存"的80%,"总共可使用最大内存"为"每个查询在单个节点可使用最大内存"* TrinoWorker数。
点击【下一步】,开始安装Trino。
安装成功后可查看Trino总览页面。
选择trino的webui,可以访问trino的连接,http://192.168.3.116:8086/ui/ (账号admin 没有密码)
4.10、添加Ranger
创建Ranger数据库。
CREATE DATABASE IF NOT EXISTS ranger DEFAULT CHARACTER SET utf8;
grant all privileges on . to ranger@"%" identified by 'ranger' with grant option;
GRANT ALL PRIVILEGES ON . TO 'ranger'@'%';
FLUSH PRIVILEGES;
点击【添加服务】,选择Ranger。
选择RangerAdmin部署节点。
分配服务Worker与CLient角色
输入数据库root用户密码,数据库地址,Ranger数据用户密码等配置信息。
点击【下一步】,开始安装Ranger,Ranger在安装过程中会执行sql语句,可能因mysql配置问题导致sql执行失败,从而导致Ranger安装失败,可查看日志查找sql执行失败原因,解决后重新添加实例安装。
安装成功后可查看Ranger总览页面。
http://ddp02:6080/login.jsp admin/admin123
4.11、添加DolphinScheduler
初始化DolphinScheduler数据库。
CREATE DATABASE dolphinscheduler DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
GRANT ALL PRIVILEGES ON dolphinscheduler.* TO 'dolphinscheduler'@'%' IDENTIFIED BY 'dolphinscheduler';
GRANT ALL PRIVILEGES ON dolphinscheduler.* TO 'dolphinscheduler'@'localhost' IDENTIFIED BY 'dolphinscheduler';
flush privileges;
执行/opt/datasophon/DDP/packages目录下dolphinscheduler_mysql.sql创建dolphinscheduler数据库表。
mysql> use dolphinscheduler;
Database changed
mysql> source /opt/datasophon/DDP/packages/dolphinscheduler_mysql.sql
Query OK, 0 rows affected (0.00 sec)
Query OK, 0 rows affected, 1 warning (0.00 sec)
添加DolphinScheduler。
分配api-server/alert-server/master-server/worker-server角色
分配Work与Client 角色
根据实际情况,修改DolphinScheduler配置。
等待安装完成
安装成功后即可查看DolphinScheduler服务总览页面。
点击WebUI下面的链接
http://ddp01:12345/dolphinscheduler/ui/login admi/dolphinscheduler123
4.12、添加ElasticSearch
分配服务Master角色
根据实际情况修改配置。
等待安装完成
根据实际情况,修改ElasticSearch配置。
4.13、添加StreamPark
初始化StreamPark数据库。
CREATE DATABASE streampark DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
GRANT ALL PRIVILEGES ON streampark.* TO 'streampark'@'%' IDENTIFIED BY 'streampark';
GRANT ALL PRIVILEGES ON streampark.* TO 'streampark'@'localhost' IDENTIFIED BY 'streampark';
flush privileges;
在命令行中链接数据库,执行下面三个SQL文件
/opt/datasophon/DDP/packages/streampark.sql
/opt/datasophon/DDP/packages/streampark_mysql-schema.sql
/opt/datasophon/DDP/packages/streampark_mysql-data.sql
添加StreamPark。
分配Master角色
分配服务Worker与CLient角色(系统生成 改不了)
根据实际情况修改配置。
等待安装完成
安装成功后可查看StreamPark总览页面,
可通过WebUi跳转到StreamPark用户页面。
http://ddp01:10000/#/login admin/streampark
4.14、添加Kerberos
点击【添加服务】,选择Kerberos。
分配Krb5Kdc和KAdmin服务角色部署节点。
分配服务Worker与CLient角色
点击【下一步】,进行Kerberos服务配置页面,默认不需要修改,注意:域名默认为HADOOP.COM,暂不支持修改。
等待安装完成
4.15、添加Iceberg
点击【添加服务】,选择Iceberg。选择IcebergClient
根据实际情况修改配置。
安装完成
4.16、doris
还没安装成功
参考文章:
官网:DataSophon | DataSophon
【DataSophon】大数据管理平台DataSophon-1.2.1安装部署详细流程-CSDN博客
版权归原作者 小天资源 所有, 如有侵权,请联系我们删除。