1. 准备工作
1.1 环境准备
以下软件为DBus-0.6.1依赖的软件:
组件 | 版本 | 备注 |
---|---|---|
Zookeeper | v3.4.6+ | 用于构建整个系统和提供配置通知等,推荐版本:v3.4.8 |
Kafka | v0.10 | 用于存储相关数据和消息,提供订阅和发布的能力 |
Storm | v1.0.2 | 用于提供DBus流式计算 |
Influxdb | v1.1.0 | 用于记录实时监控数据 |
Grafana | v4.2.0 | 用于展示监控信息 |
MySQL | v5.6.x | 创建数据库dbusmgr,创建好账号,后续配置需提供 |
Nginx | v1.9.3 | 用于存放静态html、js文件及反向代理 |
Canal | v1.1.4 | 用于实时抽取binlog日志,具体配置可参考canal相关支持说明,支持mysql5.6、5.7 |
kafka-manager | v1.3.3.4 | 选装,用于便捷地查看、管理Kafka集群,建议安装 |
我的环境已经安装了Ambari-2.7.4.0+HDP-3.1.4.0大数据平台,已安装的组件的版本如下:
- Zookeeper:v3.4.6,满足要求
- Kafka:v2.0.0,不满足要求
- Strom:v1.2.1,不满足要求
- Influxdb:未安装
- Grafana:Ambari有自带的Grafana,但这里选择重新在其他节点安装一个Grafana,专门展示DBus的监控数据
- MySQL:v5.7.32,满足要求
- Nginx:未安装
- Canal:未安装
- kafka-manager:未安装
关于Ambari-2.7.4.0+HDP-3.1.4.0大数据平台的安装部署参考:基于CentOS7.8安装Ambari2.7+HDP3.1大数据平台
1.2 角色规划
hdp01 | hdp02 | hdp03 | hdp04 | |
---|---|---|---|---|
MySQL | MySQL | |||
Zookeeper | Zookeeper | Zookeeper | Zookeeper | |
Kafka | Kafka-Manager | Kafka | Kafka | Kafka |
Storm | Storm UI Server/Supervisor/Nimbus | Nimbus | Nimbus | Nimbus |
InfluxDB | InfluxDB | |||
Grafana | Grafana | |||
Nginx | Nginx | |||
DBus | heartbeat server | heartbeat server/web server | heartbeat server | heartbeat server |
1.3 DBus源码编译
由于我的大数据平台的Kafka和Strom版本不满足DBus-0.6.1的要求,所以需要根据自己的组件版本来编译DBus源码
1.2.1 Maven安装部署
[admin@hdp01 apps]$ wget https://mirror.bit.edu.cn/apache/maven/maven-3/3.6.3/binaries/apache-maven-3.6.3-bin.tar.gz
[admin@hdp01 apps]$ tar -zxvf apache-maven-3.6.3-bin.tar.gz
[admin@hdp01 apps]$ mv apache-maven-3.6.3 maven-3.6.3
[admin@hdp01 apps]$ ln -s maven-3.6.3 maven
[admin@hdp01 apps]$ ll
total 0
lrwxrwxrwx 1 admin admin 11 2020-10-29 21:08 maven -> maven-3.6.3
drwxr-xr-x 6 admin admin 99 2020-10-29 21:07 maven-3.6.3
# 设置环境变量
[admin@hdp01 apps]$ sudo vim /etc/profile
export MAVEN_HOME=/opt/apps/maven
export MAVEN_OPTS="-Xms512m -Xmx1024m"
export PATH=$MAVEN_HOME/bin:$PATH
[admin@hdp01 apps]$ source /etc/profile
# 修改settings.xml配置文件,为列出的保持默认即可
[admin@hdp01 apps]$ vim maven/conf/settings.xml
<localRepository>/data/maven/repo</localRepository>
<mirrors>
<mirror>
<id>alimaven</id>
<name>aliyun maven</name>
<url>http://maven.aliyun.com/nexus/content/groups/public/</url>
<mirrorOf>central</mirrorOf>
</mirror>
</mirrors>
<profiles>
<profile>
<id>jdk-1.8</id>
<activation>
<activeByDefault>true</activeByDefault>
<jdk>1.8</jdk>
</activation>
<properties>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
<maven.compiler.compilerVersion>1.8</maven.compiler.compilerVersion>
</properties>
</profile>
</profiles>
# 创建指定的仓库目录
[admin@hdp01 apps]$ sudo mkdir -p /data/maven/repo
[admin@hdp01 apps]$ sudo chown -R admin:admin /data/maven
1.2.2 从git上拉取源码
# 安装git
[admin@hdp01 package]$ sudo yum install git -y
# 拉取源码,这里拉取的master是0.6.1版本
[admin@hdp01 package]$ git clone https://github.com/BriData/DBus.git
1.2.3 下载Oracle数据库的驱动包
下载地址:https://www.oracle.com/database/technologies/appdev/jdbc-downloads.html
官网下载是需要登录的,没有的话注册一个账号登录即可,我这里一口气把所有的jar包都下载好了,并且上传到服务器的目录结构如下,算是做了一个备份:
[admin@hdp01 package]$ tree Oracle-JDBC-Driver/
Oracle-JDBC-Driver/
├── 11.2.0.4
│ ├── ojdbc5.jar
│ └── ojdbc6.jar
├── 12.1.0.1
│ ├── ojdbc6.jar
│ └── ojdbc7.jar
├── 12.1.0.2
│ ├── ojdbc6.jar
│ └── ojdbc7.jar
├── 12.2.0.1
│ └── ojdbc8.jar
├── 18.3
│ └── ojdbc8.jar
├── 19.3
│ ├── ojdbc10.jar
│ └── ojdbc8.jar
├── 19.6
│ ├── ojdbc10.jar
│ └── ojdbc8.jar
├── 19.7
│ ├── ojdbc10.jar
│ └── ojdbc8.jar
└── 19.8
├── ojdbc10.jar
└── ojdbc8.jar
# 安装到maven仓库,我们只需要一个12.1.0.2版本ojdbc7jar包即可,我这里还是全部安装了...
mvn install:install-file -DgroupId=com.oracle -DartifactId=ojdbc5 -Dversion=11.2.0.4 -Dpackaging=jar -Dfile=/opt/package/Oracle-JDBC-Driver/11.2.0.4/ojdbc5.jar -DgeneratePom=true
mvn install:install-file -DgroupId=com.oracle -DartifactId=ojdbc6 -Dversion=11.2.0.4 -Dpackaging=jar -Dfile=/opt/package/Oracle-JDBC-Driver/11.2.0.4/ojdbc6.jar -DgeneratePom=true
mvn install:install-file -DgroupId=com.oracle -DartifactId=ojdbc6 -Dversion=12.1.0.1 -Dpackaging=jar -Dfile=/opt/package/Oracle-JDBC-Driver/12.1.0.1/ojdbc6.jar -DgeneratePom=true
mvn install:install-file -DgroupId=com.oracle -DartifactId=ojdbc7 -Dversion=12.1.0.1 -Dpackaging=jar -Dfile=/opt/package/Oracle-JDBC-Driver/12.1.0.1/ojdbc7.jar -DgeneratePom=true
mvn install:install-file -DgroupId=com.oracle -DartifactId=ojdbc6 -Dversion=12.1.0.2 -Dpackaging=jar -Dfile=/opt/package/Oracle-JDBC-Driver/12.1.0.2/ojdbc6.jar -DgeneratePom=true
mvn install:install-file -DgroupId=com.oracle -DartifactId=ojdbc7 -Dversion=12.1.0.2 -Dpackaging=jar -Dfile=/opt/package/Oracle-JDBC-Driver/12.1.0.2/ojdbc7.jar -DgeneratePom=true
mvn install:install-file -DgroupId=com.oracle -DartifactId=ojdbc8 -Dversion=12.2.0.1 -Dpackaging=jar -Dfile=/opt/package/Oracle-JDBC-Driver/12.2.0.1/ojdbc8.jar -DgeneratePom=true
mvn install:install-file -DgroupId=com.oracle -DartifactId=ojdbc8 -Dversion=18.3 -Dpackaging=jar -Dfile=/opt/package/Oracle-JDBC-Driver/18.3/ojdbc8.jar -DgeneratePom=true
mvn install:install-file -DgroupId=com.oracle -DartifactId=ojdbc8 -Dversion=19.3 -Dpackaging=jar -Dfile=/opt/package/Oracle-JDBC-Driver/19.3/ojdbc8.jar -DgeneratePom=true
mvn install:install-file -DgroupId=com.oracle -DartifactId=ojdbc10 -Dversion=19.3 -Dpackaging=jar -Dfile=/opt/package/Oracle-JDBC-Driver/19.3/ojdbc10.jar -DgeneratePom=true
mvn install:install-file -DgroupId=com.oracle -DartifactId=ojdbc8 -Dversion=19.6 -Dpackaging=jar -Dfile=/opt/package/Oracle-JDBC-Driver/19.6/ojdbc8.jar -DgeneratePom=true
mvn install:install-file -DgroupId=com.oracle -DartifactId=ojdbc10 -Dversion=19.6 -Dpackaging=jar -Dfile=/opt/package/Oracle-JDBC-Driver/19.6/ojdbc10.jar -DgeneratePom=true
mvn install:install-file -DgroupId=com.oracle -DartifactId=ojdbc8 -Dversion=19.7 -Dpackaging=jar -Dfile=/opt/package/Oracle-JDBC-Driver/19.7/ojdbc8.jar -DgeneratePom=true
mvn install:install-file -DgroupId=com.oracle -DartifactId=ojdbc10 -Dversion=19.7 -Dpackaging=jar -Dfile=/opt/package/Oracle-JDBC-Driver/19.7/ojdbc10.jar -DgeneratePom=true
mvn install:install-file -DgroupId=com.oracle -DartifactId=ojdbc8 -Dversion=19.8 -Dpackaging=jar -Dfile=/opt/package/Oracle-JDBC-Driver/19.8/ojdbc8.jar -DgeneratePom=true
mvn install:install-file -DgroupId=com.oracle -DartifactId=ojdbc10 -Dversion=19.8 -Dpackaging=jar -Dfile=/opt/package/Oracle-JDBC-Driver/19.8/ojdbc10.jar -DgeneratePom=true
1.2.4 下载DB2数据库的驱动包
下载地址:https://www.ibm.com/support/pages/node/382667
这时候同样需要登录IBM的账号,没有的话需要注册。
压缩包里面的db2jcc4.jar
就是我们需要的jar包,安装到maven仓库中:
mvn install:install-file -DgroupId=com.ibm.db2.jcc -DartifactId=db2jcc4 -Dversion=4.23.42 -Dpackaging=jar -Dfile=/opt/package/db2jcc4.jar -DgeneratePom=true
1.2.5 后端源码编译
- pom文件修改
# 进入git拉下来的DBus目录下
[admin@hdp01 package]$ cd DBus/
# 1.修改项目根目录下的pom.xml文件,升级storm和kafka的版本
<dependency>
<groupId>org.apache.storm</groupId>
<artifactId>storm-core</artifactId>
<!-- <version>1.0.1</version> -->
<version>1.2.1</version>
<scope>${scope.provided}</scope>
<exclusions>
<exclusion>
<groupId>com.codahale.metrics</groupId>
<artifactId>metrics-core</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.apache.kafka</groupId>
<artifactId>kafka-clients</artifactId>
<!-- <version>0.10.0.0</version> -->
<version>2.0.0</version>
</dependency>
# 2.修改dbus-commons/pom.xml文件,填入JDBC驱动和OJDBC驱动的依赖
[admin@hdp01 DBus]$ vim dbus-commons/pom.xml
<!-- 你需要添加 mysql 依赖在这里 mysql-connector-java -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.49</version>
</dependency>
<!-- 你需要添加 oracle 依赖在这里 ojdbc7 -->
<!-- mvn install:install-file -DgroupId=com.oracle -DartifactId=ojdbc7 -Dversion=12.1.0.2 -Dpackaging=jar -Dfile=ojdbc7-12.1.0.2.jar -DgeneratePom=true -->
<dependency>
<groupId>com.oracle</groupId>
<artifactId>ojdbc7</artifactId>
<version>12.1.0.2</version>
</dependency>
<!-- 你需要添加 db2 依赖在这里 db2jcc4 -->
<!-- mvn install:install-file -DgroupId=com.ibm.db2.jcc -DartifactId=db2jcc4 -Dversion=4.23.42 -Dpackaging=jar -Dfile=db2jcc4-4.23.42.jar -DgeneratePom=true-->
<dependency>
<groupId>com.ibm.db2.jcc</groupId>
<artifactId>db2jcc4</artifactId>
<version>4.23.42</version>
</dependency>
# 3.修改dbus-fullpuller/pom.xml
<dependency>
<groupId>org.apache.storm</groupId>
<artifactId>storm-kafka</artifactId>
<!-- <version>1.0.1</version> -->
<version>1.2.1</version>
</dependency>
# 4.修改dbus-keeper/keeper-base/pom.xml
<dependency>
<groupId>org.apache.kafka</groupId>
<artifactId>kafka_2.11</artifactId>
<!-- <version>0.10.0.1</version> -->
<version>2.0.0</version>
<exclusions>
<exclusion>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
</exclusion>
<exclusion>
<groupId>org.slf4j</groupId>
<artifactId>log4j-over-slf4j</artifactId>
</exclusion>
</exclusions>
</dependency>
# 5.修改dbus-heartbeat/assembly.xml
# 在第20行下面新增一行
<fileMode>0755</fileMode> # 这是第20行
<lineEnding>unix</lineEnding>
- 源码修改
// 1.文件:dbus-stream/dbus-stream-main/src/main/java/com/creditease/dbus/stream/dispatcher/bout/Db2KafkaProducerBout.java
// import org.apache.storm.shade.com.codahale.metrics.Meter;
import com.codahale.metrics.Meter;
// import org.apache.storm.shade.com.codahale.metrics.MetricRegistry;
import com.codahale.metrics.MetricRegistry;
// import org.apache.storm.shade.com.codahale.metrics.Slf4jReporter;
import com.codahale.metrics.Slf4jReporter;
- 源码编译
[admin@hdp01 DBus]$ mvn clean package
# 编译完成后,DBus/deployer/target目录下的deployer-0.6.1.zip就是最终的部署文件
1.2.6 前端源码编译
# 1. 安装nodejs
[admin@hdp01 apps]$ wget https://mirrors.tuna.tsinghua.edu.cn/nodejs-release/v14.15.0/node-v14.15.0-linux-x64.tar.gz
# 2.解压,配置环境变量
[admin@hdp01 apps]$ sudo tar -zxvf node-v14.15.0-linux-x64.tar.gz
[admin@hdp01 apps]$ sudo mv node-v14.15.0-linux-x64 nodejs-14.15.0
[admin@hdp01 apps]$ sudo ln -s nodejs-14.15.0 nodejs
[admin@hdp01 apps]$ sudo chown -R admin:admin nodejs*
[admin@hdp01 apps]$ sudo vim /etc/profile
export NODEJS_HOME=/opt/apps/nodejs
export PATH=$NODEJS_HOME/bin:$PATH
[admin@hdp01 apps]$ source /etc/profile
[admin@hdp01 apps]$ node -v
v14.15.0
# 3.使用淘宝npm镜像
[admin@hdp01 apps]$ npm install -g cnpm --registry=https://registry.npm.taobao.org
npm WARN deprecated request@2.88.2: request has been deprecated, see https://github.com/request/request/issues/3142
npm WARN deprecated har-validator@5.1.5: this library is no longer supported
/opt/apps/nodejs-14.15.0/bin/cnpm -> /opt/apps/nodejs-14.15.0/lib/node_modules/cnpm/bin/cnpm
+ cnpm@6.1.1
added 688 packages from 971 contributors in 19.23s
# 4.进入DBus\dbus-keeper\keeper-web目录下
[admin@hdp01 apps]$ cd /opt/src/DBus/dbus-keeper/keeper-web/
# 5.修改源码
# (1) 文件:DBus/dbus-keeper/keeper-web/app/containers/Project/route/index.js,确保目录Project首字母P是大写,源码中有几行是project
// 导入自定义组件
# 注意,确保第一行import的路径为'@/app/containers/App'
import App from '@/app/containers/App'
import TopologyWrapper from '@/app/containers/Project/TopologyWrapper'
import TableWrapper from '@/app/containers/Project/TableWrapper'
import SinkWrapper from '@/app/containers/Project/SinkWrapper'
import UserWrapper from '@/app/containers/Project/UserWrapper'
import ResourceWrapper from '@/app/containers/Project/ResourceWrapper'
import FullpullWrapper from '@/app/containers/Project/FullpullWrapper'
import MonitorWrapper from '@/app/containers/Project/MonitorWrapper'
import UserKeyDownloadWrapper from '@/app/containers/Project/UserKeyDownloadWrapper'
# (2) 文件:DBus/dbus-keeper/keeper-web/app/components/index.js,确保目录common是小写,源码中有几行是Common
// common 公共无状态组件
export Bread from './common/Bread'
export Navigator from './common/Navigator'
export Header from './common/Header'
export Foot from './common/Foot'
export OperatingButton from './common/OperatingButton'
export FileTree from './common/FileTree'
# (3) 将DBus/dbus-keeper/keeper-web/app/containers/Project目录下的几个js文件的名称首字母改成大写
[admin@hdp01 Project]$ mv resourceWrapper.js ResourceWrapper.js
[admin@hdp01 Project]$ mv tableWrapper.js TableWrapper.js
[admin@hdp01 Project]$ mv topologyWrapper.js TopologyWrapper.js
# 6.编译前端代码
# 先下载依赖包
[admin@hdp01 keeper-web]$ cnpm install
...
✔ All packages installed (1602 packages installed from npm registry, 1 packages installed from git, used 31s(network 19s), speed 2.7MB/s, json 1328(3.65MB), tarball 46.35MB)
# 编译源码
[admin@hdp01 keeper-web]$ cnpm run build
# 编译成功后,在keeper-web生成了build目录,整个目录都是我们需要的前端文件
2. 基础软件安装部署
所有基础软件略过的部分,参考:基于CentOS7.8安装Ambari2.7+HDP3.1大数据平台,其中包括操作系统环境的配置(免秘钥登录,时钟同步等)也是安装DBus需要的配置
2.1 安装MySQL
略
2.2 Zookeeper安装部署
略
2.3 安装Kafka
略
需要开启kafka的JMX端口:
然后重启一下需要重启的所有组件,页面会有提示。
2.4 安装Kafka-Manager
参考:Kafka集群管理工具CMAK-3.0.0.5源码编译以及安装部署
2.5 安装Storm
略
2.6 安装InfluxDB
# 安装
[admin@hdp01 ~]$ wget https://dl.influxdata.com/influxdb/releases/influxdb-1.1.0.x86_64.rpm
[admin@hdp01 ~]$ sudo yum -y localinstall influxdb-1.1.0.x86_64.rpm
# 启动
sudo systemctl start influxdb
sudo systemctl status influxdb
sudo systemctl enable influxdb
# 修改端口
# 我启动失败,查看/var/log/messages日志发现8088端口被占用
# 修改配置文件/etc/influxdb/influxdb.conf
# 注意,添加的bind-address配置在[meta]的上方,其他不用修改
bind-address="0.0.0.0:8008"
[meta]
# Where the metadata/raft database is stored
dir = "/var/lib/influxdb/meta"
...
# 初始化配置
[admin@hdp01 ~]$ influx
Visit https://enterprise.influxdata.com to register for updates, InfluxDB server management, and monitoring.
Connected to http://localhost:8086 version 1.1.0
InfluxDB shell version: 1.1.0
> create database dbus_stat_db
> use dbus_stat_db
Using database dbus_stat_db
> CREATE USER "dbus" WITH PASSWORD '123456'
> ALTER RETENTION POLICY autogen ON dbus_stat_db DURATION 15d
> exit
[admin@hdp01 ~]$
2.7 安装Grafana
# 安装
[admin@hdp02 ~]$ wget https://s3-us-west-2.amazonaws.com/grafana-releases/release/grafana-4.2.0-1.x86_64.rpm
[admin@hdp02 ~]$ sudo yum -y localinstall grafana-4.2.0-1.x86_64.rpm
# 配置文件:/etc/grafana/grafana.ini,保持默认即可
# 启动
[admin@hdp02 ~]$ sudo systemctl start grafana-server
[admin@hdp02 ~]$ sudo systemctl status grafana-server
[admin@hdp02 ~]$ sudo systemctl enable grafana-server.service
登录页面进行配置:
接下来是数据库操作:
mysql> set global validate_password_policy=0;
mysql> set global validate_password_mixed_case_count=0;
mysql> set global validate_password_number_count=3;
mysql> set global validate_password_special_char_count=0;
mysql> set global validate_password_length=3;
mysql> create database dbusmgr DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
mysql> create user 'dbusmgr'@'%' identified by '123456';
mysql> grant all privileges on dbusmgr.* to 'dbusmgr'@'%' identified by '123456';
mysql> flush privileges;
mysql> exit;
2.8 安装Nginx
# 安装
[admin@hdp02 ~]$ sudo yum -y localinstall http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm
[admin@hdp03 ~]$ sudo yum install -y nginx
# 启动
[admin@hdp02 ~]$ sudo systemctl start nginx
[admin@hdp02 ~]$ sudo systemctl status nginx
[admin@hdp02 ~]$ sudo systemctl enable nginx
访问WEB-UI
3. DBus-0.6.1安装部署
-
修改Storm目录权限
# 所有Storm Nimbus所在的机器,都执行此操作 sudo chmod o+w /usr/hdp/3.1.4.0-315/storm/
-
Nginx配置
# 1.将编译好的DBus前端代码放到/usr/share/nginx/html目录下 [admin@hdp02 html]$ pwd /usr/share/nginx/html [admin@hdp02 html]$ ll total 12 -rw-r--r-- 1 root root 494 2020-10-29 23:25 50x.html drwxr-xr-x 2 admin admin 4096 2020-11-03 22:45 build -rw-r--r-- 1 root root 612 2020-10-29 23:25 index.html # 2.将后端部署包deployer-0.6.1.zip解压,配置环境变量 [admin@hdp02 apps]$ unzip deployer-0.6.1.zip [admin@hdp02 apps]$ mv deployer-0.6.1 dbus-0.6.1 [admin@hdp02 apps]$ ln -s dbus-0.6.1 dbus [admin@hdp02 apps]$ sudo vim /etc/profile export DBUS_HOME=/opt/apps/dbus export PATH=$DBUS_HOME/bin:$PATH [admin@hdp02 apps]$ source /etc/profile # 3.将dbus的conf目录下的nginx.conf复制到/etc/nginx目录下 [admin@hdp02 apps]$ sudo dbus/conf/nginx.conf /etc/nginx/ # 有一处地方需要修改 location / { # 这里默认是一个相对路径,改为绝对路径 root /usr/share/nginx/html/build; ... } # 4.重启nginx [admin@hdp02 apps]$ sudo systemctl restart nginx
-
后端程序配置,根据自己的环境进行修改
# 1.修改配置文件:dbus/conf/config.properties ####################################################################################################### # 是否使用dbus提供的配置中心,默认开启,目前仅支持spring cloud配置中心 config.server.enabled=true # 如果config.server.enabled=false,请配置以下地址 #spring.cloud.config.profile=环境名必须修改 release #spring.cloud.config.label=分支名必须修改 master #spring.cloud.config.uri=必须修改 http://localhost:19090 # 配置中心端口,端口号不可用则需修改 config.server.port=19090 ####################################################################################################### # 是否使用dbus提供的注册中心,默认开启 register.server.enabled=true # 如果register.server.enabled=false,请配置以下地址 #register.server.url=必须修改 http://localhost:9090/eureka/ # 注册中心端口,端口号不可用则需修改 register.server.port=9090 ####################################################################################################### # 暂不支持使用自己的网关 # 网关端口,端口号不可用则需修改 gateway.server.port=5090 # dbus控制台端口,端口号不可用则需修改 mgr.server.port=8901 # dbus数据库服务端口,端口号不可用则需修改 service.server.port=18901 # mysql管理库相关配置 spring.datasource.url=jdbc:mysql://hdp01:3306/dbusmgr?characterEncoding=utf-8 spring.datasource.username=dbusmgr spring.datasource.password=123456 ####################################################################################################### # dbus集群列表,dbus web所在机器必须能免密访问该列表所有机器 dbus.cluster.server.list=hdp01,hdp02,hdp03,hdp04 # dbus集群统一免密用户 dbus.cluster.server.ssh.user=admin # dbus集群统一免密端口号 dbus.cluster.server.ssh.port=22 # ZK地址 zk.str=hdp02:2181,hdp03:2181,hdp04:2181 # kafka地址 bootstrap.servers=hdp02:9092,hdp03:9092,hdp04:9092 bootstrap.servers.version=2.0.0 # influxdb外网地址(域名) influxdb.web.url=http://hdp01:8086 # influxdb内网地址,不区分内外网influxdb_url_web和influxdb_url_dbus配置一样即可 influxdb.dbus.url=http://hdp01:8086 # grafana外网地址(域名) grafana.web.url=http://hdp02:3000 # grafana内网地址,不区分内外网igrafana_url_web和grafana_url_dbus配置一样即可 grafana.dbus.url=http://hdp02:3000 # grafana管理员token grafana.token=eyJrIjoiZEhic0RuemI2WUc3bGhXdHFTS2JxZ0N3M3BONUdhWloiLCJuIjoiYWRtaW4iLCJpZCI6MX0= # storm nimbus leader所在机器,这里只需配置leader机器,仅一台 storm.nimbus.host=hdp01 # storm nimbus根目录 storm.nimbus.home.path=/usr/hdp/3.1.4.0-315/storm # storm worker日志根目录,默认storm.nimbus.home.path下的logs目录 storm.nimbus.log.path=/data/log/storm # stormUI url storm.rest.url=http://hdp01:8744/ # storm在zookeeper的根节点 storm.zookeeper.root=/storm # 心跳程序自动部署目标机器,多个机器逗号隔开(半角逗号) heartbeat.host=hdp01,hdp02,hdp03,hdp04 # 心跳程序自动部署根目录 heartbeat.path=/data/dbus/heartbeat ####################################################################################################### # nginx所在机器ip nginx.ip=hdp02 # nginx.config配置的listen端口号 nginx.port=8080 # 2.在所有规划的dbus heartbeat服务节点创建数据目录 sudo mkdir -p /data/dbus/heartbeat sudo chown -R admin:admin /data/dbus # 3.启动Dbus-Keeper [admin@hdp02 apps]$ chmod u+x dbus/bin/init-all.sh dbus/bin/start.sh dbus/bin/stop.sh # 注意,进入bin目录下执行脚本,脚本中使用的相对路径,不然会找不到jar包 [admin@hdp02 apps]$ dbus/bin # 这个脚本会先对环境做细致的检查,有任何一项环境问题都会报错 [admin@hdp02 bin]$ init-all.sh 加载config.properties配置文件中... nginx地址检测通过 测试数据库连通性... 数据库连通性测试通过 kafka检测通过 influxdb地址检测通过 测试ZK连通性... ZK连通性测试通过 验证密钥是否存在... ~/.ssh/id_rsa密钥文件存在 开始初始化dbusmgr相关表... 初始化dbusmgr相关表成功 初始化DBusInit节点完成 解压config-server-0.6.1.jar... 配置config-server-0.6.1.jar... 压缩config-server-0.6.1.jar... 本地配置中心配置初始化... 本地配置中心配置初始化完成 解压register-server-0.6.1.jar... 配置register-server-0.6.1.jar... 压缩register-server-0.6.1.jar... 解压gateway-0.6.1.jar... 配置gateway-0.6.1.jar... 压缩gateway-0.6.1.jar... 解压keeper-mgr-0.6.1.jar... 配置keeper-mgr-0.6.1.jar... 压缩keeper-mgr-0.6.1.jar... 解压keeper-service-0.6.1.jar... 配置keeper-service-0.6.1.jar... 压缩keeper-service-0.6.1.jar... 解压dbus-heartbeat-0.6.1... 配置dbus-heartbeat-0.6.1... 压缩dbus-heartbeat-0.6.1... 删除logs目录... 新建logs目录... 启动config-server... 启动config-server中... 启动config-server成功 启动register-server... 启动register-server中... 启动register-server成功 启动gateway... 启动keeper-mgr... 启动keeper-service... dbusweb程序启动中... dbusweb程序启动中... dbusweb程序启动中... 启动gateway成功 启动keeper-mgr成功 启动keeper-service成功 启动dbusweb程序成功 登陆测试中... 登陆测试中... 登陆测试中... 登陆测试成功. 初始化dbus其他配置... {"status":0,"message":"ok"} 初始化其他配置成功. 初始化完成,请登录web开启dbus之旅. # 上面的命令只是进行启动的测试,接下来进行真正的启动 [admin@hdp02 bin]$ ./start.sh 启动config-server... 启动config-server... 启动register-server... 启动register-server... 启动gateway... 启动keeper-mgr... 启动keeper-service...
-
访问WEB-UI
# 检查DBUS安装情况
# 规划的4个节点安装heartbeat server,安装在/data/dbus/heartbeat目录下
# 4个节点都应该安装成功
[admin@hdp01 ~]$ ll /data/dbus/heartbeat/
total 32288
drwxr-xr-x 5 admin admin 90 Nov 5 22:54 dbus-heartbeat-0.6.1
-rw-rw-r-- 1 admin admin 33062689 Nov 5 22:56 dbus-heartbeat-0.6.1.zip
# 启动4个节点的heartbeat服务,4个节点全部执行
[admin@hdp01 heartbeat]$ cd dbus-heartbeat-0.6.1/
[admin@hdp01 dbus-heartbeat-0.6.1]$ nohup sh heartbeat.sh > heartbeat.log 2>&1 &
# 检查表创建情况
mysql> use dbusmgr;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
Database changed
mysql> show tables;
+--------------------------------------------+
| Tables_in_dbusmgr |
+--------------------------------------------+
| t_avro_schema |
| t_data_schema |
| t_data_tables |
| t_dbus_datasource |
| t_ddl_event |
| t_encode_columns |
| t_encode_plugins |
| t_fullpull_history |
| t_meta_version |
| t_name_alias_mapping |
| t_plain_log_rule_group |
| t_plain_log_rule_group_version |
| t_plain_log_rule_type |
| t_plain_log_rules |
| t_plain_log_rules_version |
| t_project |
| t_project_encode_hint |
| t_project_resource |
| t_project_sink |
| t_project_topo |
| t_project_topo_table |
| t_project_topo_table_encode_output_columns |
| t_project_topo_table_meta_version |
| t_project_user |
| t_query_rule_group |
| t_sink |
| t_sinker_topo |
| t_sinker_topo_schema |
| t_sinker_topo_table |
| t_storm_topology |
| t_table_action |
| t_table_meta |
| t_topology_jar |
| t_user |
+--------------------------------------------+
34 rows in set (0.00 sec)
在页面查一下集群状态:
到这里,DBus的安装部署就成功了!在bin目录下执行stop.sh
就可以停止DBus服务。
网友评论