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

🦄 个人主页——🎐开着拖拉机回家_Linux,大数据运维-CSDN博客 🎐✨🍁

🪁🍁🪁🍁🪁🍁🪁🍁 🪁🍁🪁🍁🪁🍁🪁 🪁🍁🪁🍁🪁🍁🪁🍁🪁🍁🪁🍁

感谢点赞和关注 ,每天进步一点点!加油

目录

一、DataSophon是什么

1.1 DataSophon概述

1.2架构概览

1.3设计思想

二、集成组件

三、环境准备

3.1 测试服务器

3.2 主机名映射

3.3 关闭防火墙

3.4 集群免密

3.5 系统文件句柄

3.6 环境要求

3.7 创建目录

四、部署

4.1 解压

4.2 部署mysql

4.3 执行初始化脚本

4.4 修改配置

4.5启动服务

4.6创建集群

五、添加服务

5.1 添加ZooKeeper

5.2添加HDFS

5.3添加Yarn服务

5.4添加Hbase

5.5添加Spark

5.6添加Hive

5.7添加Flink

5.8添加kafka

5.9添加Trino

5.10添加doris服务

5.11添加ranger

5.12添加DolphinScheduler

5.13添加StreamPark

5.14添加ElasticSearch

5.15添加Iceberg


一、DataSophon是什么


1.1 DataSophon概述


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

主要特性有:

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

官方地址:DataSophon | DataSophon

GITHUB地址:datasophon/README_CN.md at dev · datavane/datasophon

1.2 架构概览


1.3 设计思想


为设计出轻量级,高性能,高可扩的,可满足国产化环境要求的大数据集群管理平台。需满足以下设计要求:

(1)一次编译,处处运行,项目部署仅依赖java环境,无其他系统环境依赖。

(2)DataSophon工作端占用资源少,不占用大数据计算节点资源。

(3)可扩展性高,可通过配置的方式集成托管第三方组件。


二、集成组件


各集成组件均进行过兼容性测试,并稳定运行于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

告警通知管理系统


三、环境准备


3.1 测试服务器

IP

主机名

192.168.3.115

ddp01

192.168.3.116

ddp02

192.168.3.117

ddp03

192.168.3.118

ddp04

3.2 主机名映射


/etc/hosts

192.168.3.115 ddp01
192.168.3.116 ddp02
192.168.3.117 ddp03
192.168.3.118 ddp04

3.3 关闭防火墙


systemctl stop firewalld
systemctl disable firewalld
systemctl status firewalld

3.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@主机

3.5 系统文件句柄


vim /etc/security/limits.conf
# End of file

* soft nofile 65536
* hard nofile 131072
* soft nproc 2048
* hard nproc 65536

3.6 环境要求


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

MySQL安装参考:【Linux】Centos7 shell实现MySQL5.7 tar 一键安装-CSDN博客

3.7 创建目录


在115服务器/opt/datasophon目录下创建目录

mkdir -p /opt/datasophon/DDP/packages

将下载的部署包上传到/opt/datasophon/DDP/packages目录下,作为项目部署包仓库地址


四、部署


4.1 解压


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

cd  /opt/datasophon/DDP/packages/
tar -zxvf datasophon-manager-1.2.1.tar.gz
  • bin:启动脚本git
  • conf :配置文件
  • lib :项目依赖的jar包
  • logs:项目日志存放目录
  • jmx:jmx插件

4.2 部署mysql


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

SHOW VARIABLES LIKE '%ssl%';

修改配置文件my.cnf,在MySQL的配置文件my.cnf中加入以下内容:

#disable_ssl
skip_ssl

重启mysql服务

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

service  mysqld restart

再次查看,可以发现此时have_ssl值为DISABLED

4.3 执行初始化脚


执行如下数据库脚本:

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;

执行

元数据库会自动初始化。

4.4 修改配置


修改 conf 目录下的application.yml 配置文件中数据库链接配置,我使用默认配置:

[root@ddp-manager datasophon-manager-1.2.1]# cat  conf/profiles/application-config.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: ${datasource.username:datasophon}
    password: ${datasource.password:datasophon}

server:
  port: ${server.port:8081}
  address: ${server.ip:0.0.0.0}


datasophon:
  migration:
    enable: true

4.5启动服务


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

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

[root@ddp-manager datasophon-manager-1.2.1]# ll  logs/
total 364
-rw-r--r-- 1 root root 175042 Dec 12 11:10 api-ddp-manager.out
-rw-r--r-- 1 root root 171916 Dec 12 10:59 datasophon-api.2023-12-12_10.0.log
-rw-r--r-- 1 root root      0 Dec 12 10:58 datasophon-api-error.log
-rw-r--r-- 1 root root   1640 Dec 12 11:10 datasophon-api.log

访问前端页面地址, 默认用户名和密码为admin/admin123

http://192.168.3.115:8081/ddh/#/login

4.6 创建集群


登录进入系统页面后在集群管理页面创建集群,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.1 添加ZooKeeper


点击【添加服务】,选择ZooKeeper。

选择 ZK服务

分配ZooKeeper master服务角色部署节点,zk需部3台或5台。

Zk没有worker与client服务角色,直接点击【下一步】跳过。

根据实际情况修改Zk服务配置。

点击【下一步】,进行zk服务安装

安装成功后即可查看Zookeeper服务总览页面。

5.2 添加HDFS


部署HDFS,其中JournalNode需部署三台,NameNode部署两台,ZKFC和NameNode部署在相同机器上。如下图

点击【下一步】,选择DataNode部署节点。

根据实际情况修改配置,例如修改DataNode数据存储目录。

点击【下一步】,开始安装Hdfs。

安装成功后即可查看HDFS服务总览页面。

HDFS-WEB页面

5.3 添加Yarn服务


部署YARN,其中ResourceManager需部署两台作高可用。如下图:

点击【下一步】,选择NodeManager部署节点。

根据实际情况修改配置。

等待安装完成

安装成功后,即可查看YARN服务总览页面

5.4 添加Hbase


点击【添加服务】,选择Hbase。

选择RegionServer。

可根据需要修改服务配置。

安装成功后可查看Hbase总览页面。

5.5 添加Spark


选择SPARK3。

Spark没有Master角色,直接点击【下一步】。

根据实际情况配置

安装完成

5.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角色的节点

选择需要安装hiveclient角色的节点

根据实际情况修改配置

等待安装完成,安装成功后即可查看Hive服务总览页面

安装成功后可查看Hive总览页面。

5.7添加Flink


点击【添加服务】,选择Flink。

Spark没有Master角色,直接点击【下一步】。

根据实际情况修改Flink服务配置。

安装成功后即可查看Flink服务总览页面。

5.8 添加kafka


点击【添加服务】,选择kafka。

选择安装kafka服务broker角色的节点

根据实际情况调整Kafka参数。

Kafka安装成功后,即可在Kakfa服务总览页查看Kafka详情。

安装成功后可查看Kafka总览页面。

5.9 添加Trino


点击【添加服务】,选择Trino。

选择TrinoCoordinator。

选择TrinoWorker。注意:TrinoCoordinator和TrinoWorker不要部署在同一台机器上。

注意"Trino最大堆内存","每个查询在单个节点可使用最大内存"这两个配置,其中"每个查询在单个节点可使用最大内存"不可超过"Trino最大堆内存"的80%,"总共可使用最大内存"为"每个查询在单个节点可使用最大内存"* TrinoWorker数。Trino最大堆内存调整为 6后 正常启动

点击【下一步】,开始安装Trino。

等待安装完成,可以看到Trino总览页面

选择trino的webui,可以访问trino的连接,http://192.168.3.116:8086/ui/

5.10 添加doris服务


点击【添加服务】,选择Doris。

分配FE服务角色部署节点,奇数

分配DorisBE和DorisFEObserver服务角色部署节点。

警告

DorisFE与DorisFEObserver不能部署在同一台机器上,不然会出现端口冲突。

根据需要修改Doris配置,其中FE优先网段和BE优先网段需要配置,如配置成172.31.86.0/24。

安装成功后即可查看Doris服务总览页面。

Doris-web页面。

5.11添加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数据用户密码等配置信息。

安装成功后即可查看Ranger服务总览页面。

http://192.168.3.116:6080/ admin/admin123

5.12添加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数据库表。

添加DolphinScheduler。

分配api-server/alert-server/master-server/worker-server角色

分配Work与Client 角色

根据实际情况,修改DolphinScheduler配置。

安装成功后即可查看DolphinScheduler服务总览页面。

DolphinScheduler配置页面

5.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;

执行/opt/datasophon/DDP/packages目录下streampark.sql创建streampark数据库表。

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

添加StreamPark。

分配streampark角色

根据实际情况修改配置。

根据实际情况,修改streampark配置。

5.14添加ElasticSearch


点击【添加服务】,选择ES。

分配服务Master角色

根据实际情况修改配置。

根据实际情况,修改ElasticSearch配置。

5.15添加Iceberg


点击【添加服务】,选择Iceberg。选择IcebergClient

根据实际情况修改配置。

安装完成

总览

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/251736.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

python绘制gif动图--避免收费拒绝水印

在cp源码解读-CSDN博客文章浏览阅读341次,点赞4次,收藏6次。coreutils:cp源代码分析https://blog.csdn.net/zhaiminlove/article/details/135026160中为了直观的表达文件是如何一步步的copy的,就想到了做一个gif,但是从来没弄过,一下有点麻爪了。 首先想到的是百度、Goog…

【算法刷题】Day18

文章目录 1. x 的平方根题干:算法原理:代码: 2. 搜索插入位置题干:算法原理:代码: 3. 珠宝的最高价值题干:算法原理:1. 状态表示2. 状态转移方程3. 初始化4. 填表顺序5. 返回值 代码…

LLM中的Prompt提示

简介 在LLM中,prompt(提示)是一个预先设定的条件,它可以限制模型自由发散,而是围绕提示内容进行展开。输入中添加prompt,可以强制模型关注特定的信息,从而提高模型在特定任务上的表现。 结构 …

C语言训练:三个字符串比较大小,实现两个整数数的交换统计二进制中1的个数

目录 一、编写程序,输入三个字符串,比较它们的大小,并将它们按由小到大的顺序输出。要求用函数、指针实现。要求:要采用函数调用,并用指向函数的指针作为函数的参数。 1.不使用函数指针作为参数,并自己模拟strcmp。 …

首字母转大写在线工具

具体请前往:在线首字母转大写

【教3妹学编程-算法题】统计区间中的整数数目

插: 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站。 坚持不懈,越努力越幸运,大家一起学习鸭~~~ 2哥 : 3妹早啊,大周末的起这么早&#xff…

【MyBatis-Plus】MyBatis进阶使用

目录 一、MyBatis-Plus简介 1.1 介绍 1.2 优点 1.3 结构 二、MyBatis-Plus基本使用 2.1 配置 2.2 代码生成 2.3 CRUD接口测试 三、MyBatis-Plus策略详解 3.1 主键生成策略 3.2 雪花ID生成器 3.3 字段自动填充策略 3.4 逻辑删除 四、MyBatis-Plus插件使用 4.1 乐…

软件设计师——信息安全(一)

📑前言 本文主要是【信息安全】——软件设计师——信息安全的文章,如果有什么需要改进的地方还请大佬指出⛺️ 🎬作者简介:大家好,我是听风与他🥇 ☁️博客首页:CSDN主页听风与他 &#x1f304…

JSON Ajax

1. JSON概念 JSON,全称JavaScript Object Notation,即JavaScript对象表示法,是一种轻量级的数据交换格式。它基于JavaScript的子集,易于人阅读和编写,同时也易于机器解析和生成。 JSON的诞生,是为了解决电…

【LeetCode刷题-排序】--179.最大数

179.最大数 思路&#xff1a; 方法&#xff1a;自定义排序 class Solution {public String largestNumber(int[] nums) {if(nums null || nums.length 0){return "";}//将每个数字转换成字符串String[] strs new String[nums.length];for(int i 0;i < nums.l…

[ 8 种有效方法] 如何在没有备份的情况下恢复 Android 上永久删除的照片?

我们生命中最重要的时刻&#xff0c;但这样做有缺点&#xff0c;其中之一就是数据丢失的风险。您可能倾向于定期删除无意义的照片&#xff0c;同时保存可爱的照片&#xff0c;从而使您的 Android 设备井井有条。然而&#xff0c;有些人在删除自己珍视的图像时不小心犯了错误。您…

c语言链表的基本操作

在C语言中&#xff0c;链表是一种常见的数据结构&#xff0c;它由一系列节点组成&#xff0c;每个节点包含一个数据元素和一个指向下一个节点的指针。链表的基本操作包括创建、插入、删除和遍历等。 下面是一个简单的链表节点结构体定义&#xff1a; struct Node { int da…

开源 LLM 微调训练指南:如何打造属于自己的 LLM 模型

一、介绍 今天我们来聊一聊关于LLM的微调训练&#xff0c;LLM应该算是目前当之无愧的最有影响力的AI技术。尽管它只是一个语言模型&#xff0c;但它具备理解和生成人类语言的能力&#xff0c;非常厉害&#xff01;它可以革新各个行业&#xff0c;包括自然语言处理、机器翻译、…

算法训练第三十九天|62. 不同路径、63. 不同路径 II

62. 不同路径&#xff1a; 题目链接 一个机器人位于一个 m x n 网格的左上角 &#xff08;起始点在下图中标记为 “Start” &#xff09;。 机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角&#xff08;在下图中标记为 “Finish” &#xff09;。 问总共有…

边缘分布函数

以二维随机变量说明。 二维随机变量的分布函数为&#xff0c;随机变量的分布函数为&#xff0c;随机变量的分布函数为。 称为二维随机变量关于的边缘分布函数。 称为二维随机变量关于的边缘分布函数。

Python基础05-函数

零、文章目录 Python基础05-函数 1、函数的作用及其使用步骤 &#xff08;1&#xff09;函数的作用 在Python实际开发中&#xff0c;我们使用函数的目的只有一个“让我们的代码可以被重复使用” 函数的作用有两个&#xff1a; ① 代码重用&#xff08;代码重复使用&#xf…

部署LVS的NET模式

实验准备 #负载调度器# 192.168.116.40 #内网 12.0.0.100 #外网 先添加双网卡 #web服务器# 192.168.116.20 #web1 192.168.116.30 #web2 #nfs共享服务# 192.168.116.10 #nfs systemctl stop firewalld setenforce 0 1.nfs共享文件 1…

完美解决:ftp连接遇到 ftp: connect: 拒绝连接 或者 ftp: connect: 没有到主机的路由

目录 问题&#xff1a; 问题一&#xff1a;ftp: connect: 拒绝连接 问题二&#xff1a;ftp: connect: 没有到主机的路由 解决方法&#xff1a; 问题&#xff1a; 问题一&#xff1a;ftp: connect: 拒绝连接 问题二&#xff1a;ftp: connect: 没有到主机的路由 解决方法&#…

Post Json数据与Form表单数据转换器

具体请访问&#xff1a;在线Json转Form表单参数工具

计网 - TCP重传策略大揭秘:确保数据可靠传输的秘诀

文章目录 Pre为什么需要设计重传机制四种常见的重传机制超时重传快速重传SACKD-SACK Pre 计网 - 传输层协议 TCP&#xff1a;TCP 为什么握手是 3 次、挥手是 4 次&#xff1f; 计网 - TCP三次握手原理全曝光&#xff1a;深度解析与实战演示 计网 - TCP四次挥手原理全曝光&am…