【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/hosts192.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.Drivertype: com.alibaba.druid.pool.DruidDataSourceurl: jdbc:mysql://${datasource.ip:localhost}:${datasource.port:3306}/${datasource.database:datasophon}?&allowMultiQueries=true&characterEncoding=utf-8username: ${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.mzph.cn/news/227944.shtml

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

相关文章

java_web_电商项目

java_web_电商项目 1.登录界面2.注册界面3. 主界面4.分页界面5.商品详情界面6. 购物车界面7.确认订单界面8.个人中心界面9.收货地址界面10.用户信息界面11.用户余额充值界面12.后台首页13.后台商品增加14.后台用户增加15.用户管理16.源码分享1.登录页面的源码2.我们的主界面 1.…

在线二进制原码,补码,反码计算器

具体请前往:在线原码/反码/补码计算器

LLM中的Prompt提示

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

会声会影怎么使用? 会声会影2024快速掌握入门技巧

一听说视频剪辑我们就不由得联想到电影、电视等一些高端的视频剪辑技术,大家都觉得视频剪辑是一个非常复杂而且需要很昂贵的设备才可以完成的技术活,这对很多“门外汉”来说都可望而不可及。实际上,使用会声会影剪辑视频不仅是很多人都可以操…

【深度强化学习】策略梯度方法:REINFORCE、Actor-Critic

参考 Reinforcement Learning, Second Edition An Introduction By Richard S. Sutton and Andrew G. Barto非策略梯度方法的问题 之前的算法,无论是 MC,TD,SARSA,Q-learning, 还是 DQN、Double DQN、Dueling DQN…

STM32G030C8T6:使用按键控制LED亮灭(外部中断)

本专栏记录STM32开发各个功能的详细过程,方便自己后续查看,当然也供正在入门STM32单片机的兄弟们参考; 本小节的目标是,系统主频64 MHZ,采用高速外部晶振,通过KEY1 按键的PA0 引脚配置成中断输入引脚,PB9引…

写好ChatGPT提示词原则之:清晰且具体(clear specific)

ChatGPT 的优势在于它允许用户跨越机器学习和深度学习的复杂门槛,直接利用已经训练好的模型。然而,即便是这些先进的大型语言模型也面临着上下文理解和模型固有局限性的挑战。为了最大化这些大型语言模型(LLM)的潜力,关…

Spring 6(二)【IOC原理】

前言 1、IOC IoC 是 Inversion of Control 的简写,译为“控制反转”,它不是一门技术,而是一种设计思想,是一个重要的面向对象编程法则,能够指导我们如何设计出松耦合、更优良的程序。 1.1、控制反转 控制反转不是技术…

visual Studio MFC 平台实现图片的傅里叶变换

图片的傅里叶变换 本文主要讲解傅里叶变换的基本数学概念与物理概念,并本文使用visual Studio MFC 平台实现对傅里叶变换在图片上进行了应用。 一、傅里叶变换的原理 在这里推荐一篇讲得非常形象的文章通俗讲解:图像傅里叶变换 1.1 傅里叶变换原理的说明…

idea__SpringBoot微服务11——整合Druid数据源(新依赖)(新注解)

整合JDBC 一、导入依赖二、配置Druid————————创作不易,如觉不错,随手点赞,关注,收藏(* ̄︶ ̄),谢谢~~ 接着 第10的 新注解: ConfigurationProperties ConfigurationPropert…

【人工智能】实验四:遗传算法求函数最大值实验与基础知识

实验四:遗传算法求函数最大值实验 实验目的 熟悉和掌握遗传算法的原理、流程和编码策略,并利用遗传算法求解函数优化问题,理解求解流程并测试主要参数对结果的影响。 实验内容 采用遗传算法求解函数最大值。 实验要求 1. 用遗传算法求解…

3. cgal 示例 GIS (Geographic Information System)

GIS (Geographic Information System) 地理信息系统 原文地址: https://doc.cgal.org/latest/Manual/tuto_gis.html GIS 应用中使用的许多传感器(例如激光雷达)都会生成密集的点云。此类应用程序通常利用更先进的数据结构:例如,不…

053:vue工具--- 英文字母大小写在线转换

第047个 查看专栏目录: VUE ------ element UI 专栏目标 在vue和element UI联合技术栈的操控下,本专栏提供行之有效的源代码示例和信息点介绍,做到灵活运用。 (1)提供vue2的一些基本操作:安装、引用,模板使…

QEMU源码全解析 —— virtio(13)

接前一篇文章: 通过前文书(从QEMU源码全解析 —— virtio(9)开始)对整个流程以及各个相关函数的解析,可以看到从virtio PCI代理设备的具现化到virtio设备的具现化过程。但前述分析还遗漏了一部分&#xff0…

LeetCode(69)对称二叉树【二叉树】【简单】

目录 1.题目2.答案3.提交结果截图 链接: 对称二叉树 1.题目 给你一个二叉树的根节点 root , 检查它是否轴对称。 示例 1: 输入:root [1,2,2,3,4,4,3] 输出:true示例 2: 输入:root [1,2,2,nu…

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

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

Python开发工具PyCharm v2023.3全新发布——全面推出AI Assistant工具

JetBrains PyCharm是一种Python IDE,其带有一整套可以帮助用户在使用Python语言开发时提高其效率的工具。此外,该IDE提供了一些高级功能,以用于Django框架下的专业Web开发。 PyCharm v2023.3正式版下载 在 PyCharm 2023.3 中,每…

Linux Shell——输入输出重定向

输入输出重定向 1. 重定向输入2. 重定向输出 总结 最近学习了shell语法,总结一下关于输入输出重定向的知识。 一般情况下,linux每次执行命令其实都会打开三个文件,分别是: 标准输入stdin 文件描述符为0 标准输出stdout 文件描述符…

Text2SQL学习整理(一) 综述

数据库由一张或多张表格构成,表格之间的关系通过共同的列(外键)关联,人们使用数据库来方便的记录和存储信息。SQL是广泛应用的关系型数据库查询语言,但是对于普通用户而言,编写SQL语句有一定的难度。 Text…

Xpath注入

这里学习一下xpath注入 xpath其实是前端匹配树的内容 爬虫用的挺多的 XPATH注入学习 - 先知社区 查询简单xpath注入 index.php <?php if(file_exists(t3stt3st.xml)) { $xml simplexml_load_file(t3stt3st.xml); $user$_GET[user]; $query"user/username[name&q…