Skip to main content

moregeek program

大数据平台datasophon 测试部署-多极客编程

标签(空格分隔): 大数据运维专栏




一:datasophon 的介绍


1.1 datasophon 的介绍


DataSophon是近日开源的一款国产自研大数据管理平台,致力于快速实现部署、管理、监控以及自动化运维大数据服务组件和节点的能力,帮助你快速构建起稳定、高效的大数据集群服务。

主要有以下特性:

极易部署,1小时可完成300节点的大数据集群部署

国产化兼容,兼容ARM服务器和常用国产化操作系统

监控指标全面丰富,基于生产实践展示用户最关心的监控指标

灵活便捷的告警服务,可实现用户自定义告警组和告警指标

可扩展性强,用户可通过配置的方式集成或升级大数据组件

datasophon 的官网
https://datasophon.github.io/datasophon-website/



1.2 datasophon 的架构


参考资料:
https://github.com/datasophon/datasophon

image.png


1.3 datasophon 封装大数据组件的版本


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

image.png


二:datasophon 的部署安装


2.1 系统安装介绍


操作系统:
centos7.9x64

主机名:
cat /etc/hosts
----
172.16.10.11 flyfish11
172.16.10.12 flyfish12
172.16.10.13 flyfish13
172.16.10.14 flyfish14
172.16.10.15 flyfish15
172.16.10.16 flyfish16
172.16.10.17 flyfish17
-----
本次安装前 4台虚拟机 (flyfish11/flyfish12/flyfish13/flyfish14)
flyfish11 做主节点 其它做worker从节点

DDP部署包下载地址:
参考官网下载


image.png


2.2 系统初始化


2.2.1 关闭 firewalld,iptables 与 selinux


所有节点都要配置:

yum install -y firewall* iptable*

(1) 关闭firewalld

systemctl stop firewalld.service
systemctl disable firewalld.service
firewall-cmd --state

(2) 关闭iptables
iptables -F
systemctl stop iptables.service
service iptables save
systemctl disable iptables.service

(3) 禁用 selinux

sed -i '/SELINUX/s/enforcing/disabled/' /etc/selinux/config
setenforce 0
getenforce 0
sestatus

重启机器

reboot

image.png


2.2.2 无密钥登录配置


做root用户无密钥认证

ssh-keygen ---一直敲回车到最后

cat id_rsa.pub >> authorized_keys

chmod 600 authorized_keys
将所有的公钥导入authorized_keys 分发到 所有的 机器的.ssh/ 下面

然后测试

image.png


2.2.3 所有机器更改CentOS7.9x64的文件句柄数


vim /etc/security/limits.conf
---

* soft nofile 65535
* hard nofile 1029345
* soft nproc unlimited
* hard nproc unlimited
* soft memlock unlimited
* hard memlock unlimited
---

2.2.4 时间同步


所有机器 yum install chrony*
1. flyfish11--flyfish14 同步阿里云的时间服务器:

vim /etc/chrony.conf 增加
----
注释掉相关默认的server
server ntp1.aliyun.com prefer

service chronyd start
chkconfig chronyd on

service chronyd stop
service chronyd start
chkconfig chronyd on


image.png


2.2.5 安装MySQL 5.7


wget http://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm

yum -y install mysql57-community-release-el7-11.noarch.rpm

yum -y install mysql-server --nogpgcheck --nogpgcheck #不校验数字签名

image.png
image.png
image.png


启动MySQL

service mysqld start
chkconfig mysqld on
service mysqld status


image.png


cat /var/log/mysqld.log |grep password 

image.png


初始化MySQL:

set global validate_password_policy=0;
set global validate_password_length=1;
set password = password("flyfish225");
flush privileges;


GRANT ALL PRIVILEGES ON *.* TO 'root'@'%'IDENTIFIED BY 'flyfish225' WITH GRANT OPTION;
flush privileges;


image.png
image.png


打开my.cnf:vim /etc/my.cnf
在[mysqld]下添加:disable_ssl=skip_ssl
重启MySQL:systemctl restart mysqld.service

image.png
image.png


创建datasophon数据库相关:
mysql -uroot -pflyfish225
set global validate_password_policy=0;
set global validate_password_length=1;
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;


image.png


2.2.6 安装 nginx


yum -y install gcc pcre pcre-devel zlib zlib-devel openssl openssl-devel
wget https://nginx.org/download/nginx-1.22.0.tar.gz

Nginx编译安装步骤

tar -zxvf nginx-1.22.0.tar.gz
cd nginx-1.22.0
./configure
make
make install

启动nginx
cd /usr/local/nginx/
sbin/nginx


image.png
image.png
image.png
image.png


三: 安装 datasophon


3.1 datasophon 安装软件准备


安装软件准备: 
DDP-1.0.0
安装目录
mkdir -p /opt/datasophon/DDP/packages
将DDP-1.0.0目录下的文件下载并上传到/opt/datasophon/DDP/packages目录下:
cd /root/software/datasophon/DDP-1.0.0
cp -ap * /opt/datasophon/DDP/packages/



image.png
image.png


datasophon-manager-1.0.0.tar.gz上传到服务器,
并解压到/opt/datasophon目录下(该目录可自行选择),
datasophon-manager目录结构如下所示:

cd /root/software/datasophon
tar -zxvf datasophon-manager-1.0.0.tar.gz
mv datasophon-manager-1.0.0 /opt/datasophon/

image.png
image.png
image.png


导入datasophon-manager安装根目录下sql文件夹下datasophon-1.0.0.sql文件,创建数据表:

mysql -uroot -p flyfish225
use datasophon;
source /opt/datasophon/datasophon-manager-1.0.0/sql/datasophon-1.0.0.sql;
show tables;

image.png
image.png


蒋dist 移动到nginx 默认目录下面
cd /root/software/datasophon
mv dist.zip /usr/local/nginx/
cd /usr/local/nginx/
unzip dist.zip


nginx 配置文件准备:
cd /usr/local/nginx/conf/
cp -ap nginx.conf nginx.conf.bak

vim nginx.conf

--------

#user nobody;
worker_processes 1;

#error_log logs/error.log;
#error_log logs/error.log notice;
#error_log logs/error.log info;

#pid logs/nginx.pid;


events {
worker_connections 1024;
}


http {
include mime.types;
default_type application/octet-stream;

#log_format main '$remote_addr - $remote_user [$time_local] "$request" '
# '$status $body_bytes_sent "$http_referer" '
# '"$http_user_agent" "$http_x_forwarded_for"';

#access_log logs/access.log main;

sendfile on;
#tcp_nopush on;

#keepalive_timeout 0;
keepalive_timeout 65;

#gzip on;
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://172.16.10.11: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;
}
}

# another virtual host using mix of IP-, name-, and port-based configuration
#
#server {
# listen 8000;
# listen somename:8080;
# server_name somename alias another.alias;

# location / {
# root html;
# index index.html index.htm;
# }
#}


# HTTPS server
#
#server {
# listen 443 ssl;
# server_name localhost;

# ssl_certificate cert.pem;
# ssl_certificate_key cert.key;

# ssl_session_cache shared:SSL:1m;
# ssl_session_timeout 5m;

# ssl_ciphers HIGH:!aNULL:!MD5;
# ssl_prefer_server_ciphers on;

# location / {
# root html;
# index index.html index.htm;
# }
#}

}
-----
cd /usr/local/nginx
sbin/nginx -t
sbin/nginx -s reload
ps -ef |grep nginx
netstat -nultp |grep 8888


image.png


修改数据库配置
cd /opt/datasophon/datasophon-manager-1.0.0/conf
vim application.yml # 主要修改url和password的值
----
spring:
datasource:
type: com.alibaba.druid.pool.DruidDataSource
url: jdbc:mysql://172.16.10.11:3306/datasophon?useUnicode=true&characterEncoding=utf-8
username: datasophon
password: datasophon
driver-class-name: com.mysql.jdbc.Driver
----

mysql -h172.16.10.11 -udatasophon -pdatasophon

image.png
image.png




3.2 启动datasopohon 服务



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

image.png


3.3 访问页面配置


访问页面

登录 http://172.16.10.11:8888
默认用户名和密码为admin/admin123

安装:

image.png


创建集群

image.png


组件版本

image.png


3.4 创建集群


image.png


进入

image.png


配置集群

image.png


主机验证

image.png


主机分发:

image.png


主机分发完成

image.png


初始化安装监控组件 三个: AlertManager,Grafana和Prometheus三个组件
DataSophon需要依赖此三个组件实现系统监控告警管理。

image.png


分配节点

image.png


worker 节点

image.png


告警目录配置与端口

image.png


告警配置与端口

image.png


监控配置完成

image.png


进入集群

image.png


进入查看总览

image.png


主机状况

image.png


告警管理

image.png


告警指标管理

image.png


部署zookeeper 

image.png
image.png
image.png
image.png
image.png
image.png
image.png


安装HDFS服务
选择HDFS,点击【下一步】。

image.png
image.png
image.png
image.png


安装YARN
选择YARN,点击【下一步】。

image.png
image.png
image.png
image.png
image.png
image.png
image.png


 安装hive

mysql -uroot -pflyfish225

# mysql -uroot -pflyfish225
mysql> create database hive character set utf8;
mysql> grant all privileges on hive.* to 'hive'@'%' identified by 'hive' with grant option;
mysql> grant all privileges on hive.* to 'hive'@'flyfish11' identified by 'hive' with grant option;

mysql> flush privileges;


image.png
image.png
image.png
image.png


依次部署其它大数据组件,由于开的是虚拟机配置有所不够,就不按安装其它组件
datasophon 目前只能用于尝试部署大数据组件,很多功能并不完善。生成慎用。

image.png


©著作权归作者所有:来自51CTO博客作者flyfish225的原创作品,请联系作者获取转载授权,否则将追究法律责任

hadoop中namenode职责和hdfs读写-多极客编程

1、namenode职责:1.1、管理各个datanode节点1.2、管理分布式文件系统的元数据信息比如 一个文件多大,文件名,文件被切成几块,每个文件块存到哪台datanode服务上1.3、通过RPC心跳机制来监控datanode的状态。对于网络通信,http主外,rpc主内1.4、为了确保数据存储的可靠性,采用冗余机制来实现,注意:副本数量不宜过多,因为会降低整个集群的磁盘利用率,一般采用3副

hdfs,mapreduce,yarn的架构思想和设计原理-多极客编程

Hadoop 三大组件:HDFS,MapReduce,Yarn 的架构分析和原理1引子        大数据就是将各种数据统一收集起来进行计算,发掘其中的价值。这些数据,既包括数据库的数据,也包括日志数据,还包括专门采集的用户行为数据;既包括企业内部自己产生的数据,也包括从第三方采购的数据,还包括使用网络爬虫获取的各种互联网公开数据 ...        面对如此庞大的数据,如何存储、如何有效利用

hadoop概述-多极客编程

官方网址:​​http://hadoop.apache.org/​​Welcome to Apache™ Hadoop®!What Is Apache Hadoop?The Apache™ Hadoop® project develops open-source software for reliable, scalable, distributed computing.The Apache Ha

nifi集群搭建及基础介绍-多极客编程

一、Nifi配置1)  nifi基本配置1.      jdk配置:nifi新版本要求jdk版本必须1.8以上目录:bin/nifi.env.sh       export JAVA_HOME=/usr/java/jdk1.8   忽略此项配置,nifi将使用系统默认Java环境启动。2.  nifi运行内存配置目录:conf/bootstarp.conf  java.arg.2=-Xms2048

nifi-1.16.0版本集群搭建过程记录-多极客编程

一、环境准备1、服务器资源分配IP服务192.168.0.11Zookeeper、NiFi、Kerberos192.168.0.12Zookeeper、NiFi192.168.0.13Zookeeper、NiFi文件下载链接:nifi-1.16.0-bin.tar.gz:​​下载​​nifi-toolkit-1.16.0-bin.tar.gz:​​下载​​相关参考文档:​​NIFI文档​​2、禁用

hadoop中namenode职责和hdfs读写-多极客编程

1、namenode职责:1.1、管理各个datanode节点1.2、管理分布式文件系统的元数据信息比如 一个文件多大,文件名,文件被切成几块,每个文件块存到哪台datanode服务上1.3、通过RPC心跳机制来监控datanode的状态。对于网络通信,http主外,rpc主内1.4、为了确保数据存储的可靠性,采用冗余机制来实现,注意:副本数量不宜过多,因为会降低整个集群的磁盘利用率,一般采用3副