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

news2024/12/23 13:57:24

🦄 个人主页——🎐开着拖拉机回家_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

根据实际情况修改配置。

安装完成

总览

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

扁平化菜单功能制作

网页效果&#xff1a; HTML部分&#xff1a; <body><ul class"nav"><li><a href"javascript:void(0);">菜单项目一</a><ul><li>子菜单项01</li><li>子菜单项02</li><li>子菜单项03<…

【c语言】【visual studio】动态内存管理,malloc,calloc,realloc详解。

引言&#xff1a;随着大一期末的到来&#xff0c;想必许多学生都学到内存的动态管理这一部分了&#xff0c;看望这篇博客后&#xff0c;希望能解除你心中对这一章节的疑惑。 (・∀・(・∀・(・∀・*) 1.malloc详解 malloc的头文件是#include <sdtlib.h>,malloc - C Ref…

Web基本架构与Web攻击介绍(SQL注入、XSS、CSRF)

目录 Web基础 Web服务器介绍 Web攻击 SQL注入攻击——针对网站数据库的攻击 XSS跨站脚本攻击——针对用户浏览器的攻击 CSRF跨站请求伪造攻击——针对用户浏览器的攻击 三种攻击方式的区别 Web基础 什么是Web Web指的是万维网&#xff08;World Wide Web&#xff09;&…

JJJ:组合数据类型

文章目录 序列的索引及切片操作 p42序列的相关操作 p43 序列的索引及切片操作 p42 序列&#xff1a; 一个用于存储多个值的连续空间 每个值都对应一个整数的编号&#xff0c;叫做索引 索引分为&#xff1a;正向递增索引、反向递减索引 序列结构实例&#xff1a; 字符串、 列…

AOP切入点表达式和使用连接点获取匹配到的方法信息

目录 第一种 execution(访问修饰符? 返回值 包名.类名.?方法名(方法参数) throws 异常?) 第二种 annotation(com.itheima.anno.Log 首先&#xff0c;自定义一个注解&#xff0c;可以自己随意命名&#xff1a; 第一种 execution(访问修饰符? 返回值 包名.类名.?方法名…

zookeeper4==zookeeper源码阅读,FOLLOWER收到了需要LEADER执行的命令后各节点会执行什么

上面已经阅读并观察了节点确定自己的身份后会做些什么&#xff0c;大致就是比对双方信息然后完成同步。 本篇阅读&#xff0c; FOLLOWER收到了需要LEADER执行的命令后&#xff0c;怎么同步给LEADER的&#xff0c;并且LEADER会执行什么操作。 源码启动zkCli用于测试 将原本的代…

解决PP材质粘合问题用PP专用UV胶水

PP材料已经广泛应用于各行各业&#xff0c;在粘接中会有不同的问题需求&#xff0c;那么使用专用于PP的UV胶水可能是解决PP材质粘合问题的一种有效方法。 主要在于&#xff1a;UV胶水在紫外线照射下可以快速固化&#xff0c;形成坚固的连接。所以使用PP专用UV胶水时可以考虑&am…

如何在Docker部署draw.io流程图软件并实现公网远程访问

前言 提到流程图&#xff0c;大家第一时间可能会想到Visio&#xff0c;不可否认&#xff0c;VIsio确实是功能强大&#xff0c;但是软件为收费&#xff0c;并且因为其功能强大&#xff0c;导致安装需要很多的系统内存&#xff0c;并且是不可跨平台使用。所以&#xff0c;今天给…

使用axios的详细图文教程

介绍 当我们使用Vue开发项目时&#xff0c;会发送Ajax请求服务器接口&#xff0c;会对axios封装。 Axios&#xff08;ajax i/o system&#xff09;不是一种新技术&#xff0c;本质上也是对原生XHR&#xff08;XMLHttpReques&#xff09;的封装&#xff0c;只不过它是基于Pr…

和葡萄酒时为什么要写品酒笔记?

如果你不把你的想法写下来&#xff0c;它们可能会在你离开房间之前就离开你的大脑。写笔记&#xff0c;包括令人难忘的品酒笔记&#xff0c;它是关于记录一些超越今天和明天的有意义的事情。这是你的记忆葡萄酒&#xff0c;对你来说最相关、最有区别的就是最重要的。最后&#…

Keil新建STM32软件工程 - (详细步骤图文)

文章目录 1. 前言2. 下载芯片对应的Keil开发包3. 下载芯片对应的标准外设库 - STM32F10x_StdPeriph_Lib_Vx.x.x4. 新建工程文件夹 - Demo34.1 移植标准外设库4.2 启动文件介绍及如何选择 5. 新建软件工程 - Demo5.1 打开Keil → Project → New uVision Project5.2 选择芯片型号…

CSS 的背景属性(开发中常用)

目录 1 内容预览 背景颜色 背景图片 背景平铺 背景图片位置(常用) 背景图像固定 背景复合写法 背景色半透明 实现案例 1 内容预览 背景属性可以设置背景颜色、背景图片、背景平铺、背景图片位置、背景图像固定等。 注意&#xff1a; 把表格中的五个属背下来&#xff0c…

朱卫明:从韶关走向世界的创作型歌手

朱卫明&#xff0c;艺名Aming&#xff0c;是一位来自广东韶关的杰出唱作音乐人。他以其独特的创作才华和深情的嗓音&#xff0c;赢得了众多歌迷的喜爱。作为一名创作型歌手&#xff0c;朱卫明用音乐传递情感&#xff0c;用歌声打动人心。 一、早年经历与音乐启蒙 朱卫明出生于…

Explain工具-SQL性能优化

文章目录 SQL性能优化的目标Explain覆盖索引ExplainindexExplainfilesortExplainfilesort创建 idx_bd(b,d) SQL性能优化的目标 达到 range 级别 Explain覆盖索引 Extra中Using index表示覆盖索引 Explainindex type中是index&#xff0c;代表全索引扫描&#xff0c;磁盘扫…

Sketch for Mac:实现你的创意绘图梦想的矢量绘图软件

随着数字时代的到来&#xff0c;矢量绘图软件成为了广告设计、插画创作和UI设计等领域中必不可少的工具。在众多矢量绘图软件中&#xff0c;Sketch for Mac&#xff08;矢量绘图软件&#xff09;以其强大的功能和简洁的界面脱颖而出&#xff0c;成为了众多设计师的首选。 Sket…

【LeetCode:746. 使用最小花费爬楼梯 | 递归 -> 记忆化搜索 -> DP】

&#x1f680; 算法题 &#x1f680; &#x1f332; 算法刷题专栏 | 面试必备算法 | 面试高频算法 &#x1f340; &#x1f332; 越难的东西,越要努力坚持&#xff0c;因为它具有很高的价值&#xff0c;算法就是这样✨ &#x1f332; 作者简介&#xff1a;硕风和炜&#xff0c;…

【机器学习】应用KNN实现鸢尾花种类预测

目录 前言 一、K最近邻&#xff08;KNN&#xff09;介绍 二、鸢尾花数据集介绍 三、鸢尾花数据集可视化 四、鸢尾花数据分析 总结 &#x1f308;嗨&#xff01;我是Filotimo__&#x1f308;。很高兴与大家相识&#xff0c;希望我的博客能对你有所帮助。 &#x1f4a1;本文由Fil…

YOLOv5改进 | 2023 | CARAFE提高精度的上采样方法(助力细节长点)

一、本文介绍 本文给大家带来的CARAFE&#xff08;Content-Aware ReAssembly of FEatures&#xff09;是一种用于增强卷积神经网络特征图的上采样方法。其主要旨在改进传统的上采样方法&#xff08;就是我们的Upsample&#xff09;的性能。CARAFE的核心思想是&#xff1a;使用…

【LeetCode刷题笔记】155.最小栈

创作不易&#xff0c;本篇文章如果帮助到了你&#xff0c;还请点赞 关注支持一下♡>&#x16966;<)!! 主页专栏有更多知识&#xff0c;如有疑问欢迎大家指正讨论&#xff0c;共同进步&#xff01; 更多算法知识专栏&#xff1a;算法分析&#x1f525; 给大家跳段街舞感谢…

指针运算笔试题解析

题目一 #include <stdio.h>int main(){int a[5] { 1, 2, 3, 4, 5 };int *ptr (int *)(&a 1);printf( "%d,%d", *(a 1), *(ptr - 1));return 0;}// 程序的结果是什么&#xff1f; 答案中显示第一个是2&#xff0c;第二个是5 咱们先来解释一下第一个答…