大数据管理平台DataSophon-1.1.1安装部署详细流程

1 DataSophon介绍

1.1 DataSophon愿景

DataSophon致力于快速实现部署、管理、监控以及自动化运维大数据云原生平台,帮助您快速构建起稳定、高效、可弹性伸缩的大数据云原生平台。

1.2 DataSophon是什么

《三体》,这部获世界科幻文学最高奖项雨果奖的作品以惊艳的"硬科幻"风被大家所熟知,其作者刘慈欣更是被誉为"单枪匹马将中国科幻提高到世界级水平
作为三体中非常重要的角色,智子(Sophon)是将九维的质子进行二维展开,通过电路蚀刻改造成超级计算机后,再转回到微观的十一维来监控人类的一举一动,并利用量子纠缠实现瞬时通信报告给4光年之外的三体文明。说白了智子是三体文明部署在地球的AI实时远程监控和管理平台。

DataSophon也是个类似的管理平台,只不过与智子不同的是,智子的目的是锁死人类的基础科学阻碍人类技术爆炸,而DataSophon是致力于自动化监控、运维、管理大数据基础组件和节点的,帮助您快速构建起稳定,高效的大数据集群服务

1.3 DataSophon主要特性

① 快速部署,可快速完成300个节点的大数据集群部署
② 兼容复杂环境,极少的依赖使其很容易适配各种复杂环境
③ 监控指标全面丰富,基于生产实践展示用户最关心的监控指标
④ 灵活便捷的告警服务,可实现用户自定义告警组和告警指标
⑤ 可扩展性强,用户可通过配置的方式集成或升级大数据组件

1.4 整体架构

在这里插入图片描述

1.5 集成组件

各集成组件均进行过兼容性测试,并稳定运行于300+个节点规模的大数据集群,日处理数据量约4000亿条。在海量数据下,各大数据组件调优成本低,平台默认展示用户关心和需要调优的配置。

序号 名称 版本 描述
1 HDFS 3.3.3 分布式大数据存储
2 YARN 3.3.3 分布式资源调度与管理平台
3 ZooKeeper 3.5.10 分布式协调系统
4 FLINK 1.15.2 实时计算引擎
5 DolphoinScheduler 3.1.1 分布式易扩展的可视化工作流任务调度平台
6 StreamPark 1.2.3 流处理极速开发框架,流批一体&湖仓一体的云原生平台
7 Spark 3.1.3 分布式计算系统
8 Hive 3.1.0 离线数据仓库
9 Kafka 2.4.1 高吞吐量分布式发布订阅消息系统
10 Trino 367 分布式Sql交互式查询引擎
11 Doris 1.1.5 新一代极速全场景MPP数据库
12 Hbase 2.4.16 分布式列式存储数据库
13 Ranger 2.1.0 权限控制框架
14 ElasticSearch 7.16.2 高性能搜索引擎
15 Prometheus 2.17.2 高性能监控指标采集与告警系统
16 Grafana 9.1.6 监控分析与数据可视化套件
17 AlertManager 0.23.0 告警通知管理系统

2 环境准备

2.0 DataSophon安装包

链接:https://pan.baidu.com/s/1QWTMadCGLiAL-XqeS6AygQ 
提取码:2gd2 

选择需要安装的DataSophon版本,并选择对应的datasophon-manager版本。本文以最新的DataSophon-1.1.1版本为例。

2.1 网络要求

要求各机器各组件正常运行提供如下的网络端口配置:

组件 默认端口 说明
DDHApplicationServer 8081、2551、8586 8081为http server端口,2551为rpc通信端口,8586为jmx端口
WorkerApplicationServer 2552、9100、8585 2552 rpc通信端口,8585为jmx端口,9100为主机数据采集器端口
nginx 8888 提供 UI 端通信端口

注:
① DDHApplicationServer为API接口层即web后端,主要负责处理前端UI层的请求。该服务统一提供RESTful api向外部提供请求服务。
② WorkerApplicationServer负责执行DDHApplicationServer发送的指令,包括服务安装、启动、停止、重启等指令。

2.2 配置hosts

大数据集群所有机器需配置主机host。

配置主机名: hostnamectl set-hostname 主机名

配置/etc/hosts文件

2.3 关闭防火墙

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

集群之间完成免密

ssh-copy-id -i ~/.ssh/id_rsa.pub root@主机

2.5 环境要求

Jdk环境需安装。建议mysql版本为5.7.X,并关闭ssl。

2.6 创建目录

mkdir -p /opt/datasophon/DDP/packages

将下载的部署包上传到/opt/datasophon/DDP/packages目录下,作为项目部署包仓库地址。
注:需要将默认安装包建立在这个目录下,否则会报找不到目录错,如下:
在这里插入图片描述

3 部署

3.1 部署mysql

注意需关闭mysql ssl功能。在部署过程中,部分组件会执行sql生成库表,不同环境的mysql在配置上存在差异,可根据sql执行情况,变更mysql配置。

3.1.1 关闭ssl

#使用如下命令查看ssl是否关闭,如果have_ssl的值为YES,说明SSL已经开启
SHOW VARIABLES LIKE '%ssl%';

在这里插入图片描述
修改配置文件my.cnf,在MySQL的配置文件my.cnf中加入以下内容:

#disable_ssl
skip_ssl

这个配置的作用是告诉MySQL不要使用SSL协议。在修改配置文件之前,最好备份一下,以免出错后无法恢复。

重启mysql服务
修改了my.cnf文件之后,需要重启MySQL才能使修改生效。可以使用以下命令重启MySQL:

service mysqld restart

再次查看,可以发现此时have_ssl值为DISABLED
在这里插入图片描述

3.1.2 执行初始化脚本

执行如下数据库脚本:

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;

执行datasophon-manager安装目录sql目录下datasophon.sql,创建数据表。

source datasophon.sql

3.2 解压

在安装目录下解压datasophon-manager-{version}.tar.gz,解压后可以看到如下安装目录:

tar -zxvf datasophon-manager-1.1.1.tar.gz

在这里插入图片描述

bin:启动脚本git

conf :配置文件

lib :项目依赖的jar包

logs:项目日志存放目录

jmx:jmx插件

3.3 安装并配置nginx

注:1.1.1之前的版本需要执行该步操作,需要配置nginx。1.1.1及以后版本可以跳过该步骤

3.3.1 安装依赖包

yum -y install gcc zlib zlib-devel pcre-devel openssl openssl-devel

3.3.2 下载并解压

#创建一个文件夹
cd /usr/local
mkdir nginx
cd nginx
#下载tar包
wget http://nginx.org/download/nginx-1.13.7.tar.gz
tar -xvf nginx-1.13.7.tar.gz

3.3.3 安装nginx

#进入nginx目录
cd /usr/local/nginx/nginx-1.13.7
#执行命令 考虑到后续安装ssl证书 添加两个模块
./configure --with-http_stub_status_module --with-http_ssl_module
#执行make命令
make
#执行make install命令
make install

3.3.4 启动nginx服务

 ​​​​​​​/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf

看到如下页面说明nginx安装成功
在这里插入图片描述

3.3.5配置nginx.conf

# 打开配置文件
vim /usr/local/nginx/conf/nginx.conf

注意:这里需要获取前端配置包dist.zip并解压

新增配置

server {
    
    
                listen 8888;# 访问端口(自行修改)
                server_name localhost;
                #charset koi8-r;
                #access_log /var/log/nginx/host.access.log main;
                location / {
    
    
                        root /usr/local/nginx/dist; # 前端解压的 dist 目录地址(自行修改)
                        index index.html index.html;
                }
                location /ddh {
    
    
                        proxy_pass http://doris-1:8081; # 接口地址(自行修改)
                        proxy_set_header Host $host;
                        proxy_set_header X-Real-IP $remote_addr;
                        proxy_set_header x_real_ipP $remote_addr;
                        proxy_set_header remote_addr $remote_addr;
                        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
                        proxy_http_version 1.1;
                        proxy_connect_timeout 4s;
                        proxy_read_timeout 30s;
                        proxy_send_timeout 12s;
                        proxy_set_header Upgrade $http_upgrade;
                        proxy_set_header Connection "upgrade";
                }
 
                #error_page 404 /404.html;
                # redirect server error pages to the static page /50x.html
                #
                error_page 500 502 503 504 /50x.html;
                location = /50x.html {
    
    
                        root /usr/share/nginx/html;
                }
        }

3.3.6 重启nginx

/usr/local/nginx/sbin  -s reload

3.4 修改配置

修改 conf 目录下的application.yml 配置文件中数据库链接配置:

spring:
  datasource:
    type: com.alibaba.druid.pool.DruidDataSource
    url: jdbc:mysql:192.168.5.189:3306/datasophon?useUnicode=true&characterEncoding=utf-8
    username: root
    password: root
    driver-class-name: com.mysql.jdbc.Driver

在这里插入图片描述

3.4 启动服务

#启动
sh bin/datasophon-api.sh start api
#停止
sh bin/datasophon-api.sh stop api
#重启
sh bin/datasophon-api.sh restart api

部署成功后,可以进行日志查看,日志统一存放于logs文件夹内:

logs/

├── ddh-api.log

├── ddh-api-error.log

|—— api-{hostname}.out
在这里插入图片描述

3.5 访问页面

访问前端页面地址,接口ip(自行修改) [http://192.168.xx.xx:8081/ddh,默认用户名和密码为admin/admin123
在这里插入图片描述

4 创建集群

登录进入系统页面后在集群管理页面创建集群,DataSophon支持多集群管理和授予用户集群管理员权限
在这里插入图片描述
点击【创建集群】,输入集群名称,集群编码(集群唯一标识),集群框架。
在这里插入图片描述

创建成功后点击【配置集群】:
根据提示,输入主机列表(注意:主机名需与在准备环境中hostnamectl set-hostname 设置的主机名一致),ssh用户名默认为root和ssh端口默认为22。
在这里插入图片描述

配置完成后,点击【下一步】,系统开始链接主机并进行主机环境校验。
在这里插入图片描述

主机环境校验成功后点击【下一步】,主机agent分发步骤将自动分发datasophon-worker组件,并启动WorkerApplicationServer。
在这里插入图片描述

主机管理Agent分发完成后,点击【下一步】,开始部署服务。
初始化配置集群先选择部署AlertManager,Grafana和Prometheus三个组件。
在这里插入图片描述

点击【下一步】,分配AlertManager,Grafana和Prometheus服务的master服务角色部署节点,此三个组件需部署在同一台机器上。
在这里插入图片描述

点击【下一步】,分配AlertManager,Grafana和Prometheus服务的worker与client服务角色部署节点,没有worker和client服务角色的可以跳过之间点击【下一步】。

在这里插入图片描述

修改各服务配置。系统已给出默认配置,大部分情况下无需修改。
在这里插入图片描述

点击【下一步】开始服务安装,可实时查看服务安装进度。
在这里插入图片描述

点击【完成】,在集群管理页面点击【进入】,即可进入集群服务组件管理页面。

在这里插入图片描述

5 添加服务

5.1 安装ZK

选择添加服务,选择zk
在这里插入图片描述
分配ZooKeeper master服务角色部署节点,zk需部3台或5台。
在这里插入图片描述
Zk没有worker与client服务角色,直接点击【下一步】跳过。

根据实际情况修改Zk服务配置。
在这里插入图片描述

点击【下一步】,进行zk服务安装
在这里插入图片描述
安装成功后即可查看Zookeeper服务总览页面。
在这里插入图片描述

5.2 安装HDFS

部署HDFS,其中JournalNode需部署三台,NameNode部署两台,ZKFC和NameNode部署在相同机器上。如下图
在这里插入图片描述
点击【下一步】,选择DataNode部署节点。
在这里插入图片描述
根据实际情况修改配置,例如修改DataNode数据存储目录。
在这里插入图片描述
点击【下一步】,开始安装Hdfs。
在这里插入图片描述
安装成功后,即可查看HDFS服务总览页面。
在这里插入图片描述

5.3 添加Yarn服务

部署YARN,其中ResourceManager需部署两台作高可用。如下图:
在这里插入图片描述
点击【下一步】,选择NodeManager部署节点。
在这里插入图片描述

根据实际情况修改配置。
在这里插入图片描述
等待安装完成
在这里插入图片描述
安装成功后,即可查看YARN服务总览页面
在这里插入图片描述

5.4 添加hive服务

5.4.1 准备工作

1)在数据库中创建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;

在这里插入图片描述

5.4.2 安装hive

选择需要安装hiveserver2和metastore角色的节点
在这里插入图片描述
选择需要安装hiveclient角色的节点
在这里插入图片描述
根据实际情况修改配置
在这里插入图片描述
等待安装完成,安装成功后即可查看YARN服务总览页面
在这里插入图片描述

5.5 安装dolphinscheduler服务

5.5.1 准备工作

1)初始化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;

在这里插入图片描述
2)执行/opt/datasophon/DDP/packages目录下dolphinscheduler_mysql.sql创建dolphinscheduler数据库表

5.5.2 安装dolphinscheduler

添加dolphinscheduler服务
在这里插入图片描述
分配api-server/alert-server/master-server/worker-server角色
在这里插入图片描述
根据实际情况,修改DolphinScheduler配置。
在这里插入图片描述
开始安装DolphinScheduler,安装成功后可以看到DolphinScheduler总览页面
在这里插入图片描述
可以通过WebUi打开DolphinScheduler页面.
在这里插入图片描述
在这里插入图片描述

5.6 添加trino

点击【添加服务】,选择Trino。
在这里插入图片描述
选择TrinoCoordinator。
在这里插入图片描述
选择TrinoWorker。注意:TrinoCoordinator和TrinoWorker不要部署在同一台机器上。
在这里插入图片描述
注意"Trino最大堆内存","每个查询在单个节点可使用最大内存"这两个配置,其中"每个查询在单个节点可使用最大内存"不可超过"Trino最大堆内存"的80%,“总共可使用最大内存"为"每个查询在单个节点可使用最大内存”* TrinoWorker数.
在这里插入图片描述
点击【下一步】,开始安装Trino。等待安装完成,可以看到Trino总览页面
在这里插入图片描述
选择trino的webui,可以访问trino的连接
在这里插入图片描述
在这里插入图片描述

5.7 添加doris服务

点击【添加服务】,选择Doris。
在这里插入图片描述
分配FE服务角色部署节点。
在这里插入图片描述
分配BE服务角色部署节点。
在这里插入图片描述
根据需要修改Doris配置,其中FE优先网段和BE优先网段需要配置,如配置成172.31.86.0/24
在这里插入图片描述
点击【下一步】,开始安装Doris。
在这里插入图片描述

5.8 安装kafka

在这里插入图片描述
选择安装kafka服务broker角色的节点
在这里插入图片描述
根据实际情况调整Kafka参数。
在这里插入图片描述
Kafka安装成功后,即可在Kakfa服务总览页查看Kafka详情。
在这里插入图片描述

5.9 安装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部署节点。
在这里插入图片描述
输入数据库root用户密码,数据库地址,Ranger数据用户密码等配置信息。
在这里插入图片描述

安装成功后,即可在Kakfa服务总览页查看Ranger详情。
在这里插入图片描述

5.10 安装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;

在这里插入图片描述
执行/opt/datasophon/DDP/packages目录下streampark.sql创建streampark数据库表。

use streampark;
source /opt/datasophon/DDP/packages/streampark.sql

分配streampark角色
在这里插入图片描述
根据实际情况修改配置。
在这里插入图片描述
安装成功后可查看StreamPark总览页面,可通过WebUi跳转到StreamPark用户页面。

还有其他组件,如spark/flink/hbase/elasticsearch等,这里就不再一一例举安装了,感兴趣的小伙伴可以自己上手试一试。

6 多集群部署

DataSophon支持部署和管理集群,在管理页面点击创建新的集群,输入集群id等信息
在这里插入图片描述

部署其他集群的节点同样需要上述2.1-2.5的环境准备。

6.1 扫描节点和分发安装包

输入需要安装集群的节点ip
在这里插入图片描述
在这里插入图片描述

分发worker安装包
在这里插入图片描述

6.2 选择需要安装的服务

在这里插入图片描述

6.3 分配角色

在这里插入图片描述
在这里插入图片描述

6.4 确认服务配置参数

在这里插入图片描述

6.5 安装服务

在这里插入图片描述

6.6 进入集群2

安装成功之后,进入集群2查看总览页面
在这里插入图片描述

在这里插入图片描述

6.7 集群2中添加服务

在集群2中添加zk/kafka/doris服务
zk页面总览
在这里插入图片描述
kafka页面总览
在这里插入图片描述
doris页面总览
在这里插入图片描述

6.8 集群间切换

可以选择不同的集群id,查看对应不同集群的节点信息、组件安装信息、告警信息等
在这里插入图片描述
不同集群安装的服务和节点均可不一致:

集群1主机管理
在这里插入图片描述
集群2主机管理
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/Keyuchen_01/article/details/130929005