統(tǒng)一數(shù)據(jù)采集平臺(tái)DBus-0.6.1安裝部署

1. 準(zhǔn)備工作

1.1 環(huán)境準(zhǔn)備

以下軟件為DBus-0.6.1依賴的軟件:

組件 版本 備注
Zookeeper v3.4.6+ 用于構(gòu)建整個(gè)系統(tǒng)和提供配置通知等,推薦版本:v3.4.8
Kafka v0.10 用于存儲(chǔ)相關(guān)數(shù)據(jù)和消息逻住,提供訂閱和發(fā)布的能力
Storm v1.0.2 用于提供DBus流式計(jì)算
Influxdb v1.1.0 用于記錄實(shí)時(shí)監(jiān)控?cái)?shù)據(jù)
Grafana v4.2.0 用于展示監(jiān)控信息
MySQL v5.6.x 創(chuàng)建數(shù)據(jù)庫dbusmgr钟哥,創(chuàng)建好賬號(hào),后續(xù)配置需提供
Nginx v1.9.3 用于存放靜態(tài)html瞎访、js文件及反向代理
Canal v1.1.4 用于實(shí)時(shí)抽取binlog日志腻贰,具體配置可參考canal相關(guān)支持說明,支持mysql5.6扒秸、5.7
kafka-manager v1.3.3.4 選裝写烤,用于便捷地查看洲炊、管理Kafka集群,建議安裝

我的環(huán)境已經(jīng)安裝了Ambari-2.7.4.0+HDP-3.1.4.0大數(shù)據(jù)平臺(tái)古徒,已安裝的組件的版本如下:

  • Zookeeper:v3.4.6代态,滿足要求
  • Kafka:v2.0.0蹦疑,不滿足要求
  • Strom:v1.2.1,不滿足要求
  • Influxdb:未安裝
  • Grafana:Ambari有自帶的Grafana叁温,但這里選擇重新在其他節(jié)點(diǎn)安裝一個(gè)Grafana,專門展示DBus的監(jiān)控?cái)?shù)據(jù)
  • MySQL:v5.7.32跟束,滿足要求
  • Nginx:未安裝
  • Canal:未安裝
  • kafka-manager:未安裝

關(guān)于Ambari-2.7.4.0+HDP-3.1.4.0大數(shù)據(jù)平臺(tái)的安裝部署參考:基于CentOS7.8安裝Ambari2.7+HDP3.1大數(shù)據(jù)平臺(tái)

1.2 角色規(guī)劃

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源碼編譯

由于我的大數(shù)據(jù)平臺(tái)的Kafka和Strom版本不滿足DBus-0.6.1的要求,所以需要根據(jù)自己的組件版本來編譯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

# 設(shè)置環(huán)境變量
[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配置文件氧腰,為列出的保持默認(rèn)即可
[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>

# 創(chuàng)建指定的倉庫目錄
[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數(shù)據(jù)庫的驅(qū)動(dòng)包

下載地址:https://www.oracle.com/database/technologies/appdev/jdbc-downloads.html

官網(wǎng)下載是需要登錄的,沒有的話注冊(cè)一個(gè)賬號(hào)登錄即可紧帕,我這里一口氣把所有的jar包都下載好了,并且上傳到服務(wù)器的目錄結(jié)構(gòu)如下鹅搪,算是做了一個(gè)備份:

[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倉庫恢准,我們只需要一個(gè)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數(shù)據(jù)庫的驅(qū)動(dòng)包

下載地址:https://www.ibm.com/support/pages/node/382667

這時(shí)候同樣需要登錄IBM的賬號(hào),沒有的話需要注冊(cè)队萤。

壓縮包里面的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文件修改
# 進(jìn)入git拉下來的DBus目錄下
[admin@hdp01 package]$ cd DBus/

# 1.修改項(xiàng)目根目錄下的pom.xml文件赵辕,升級(jí)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驅(qū)動(dòng)和OJDBC驅(qū)動(dòng)的依賴
[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.解壓誊爹,配置環(huán)境變量
[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.進(jìn)入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
// 導(dǎo)入自定義組件
# 注意惊科,確保第一行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 公共無狀態(tài)組件
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目錄下的幾個(gè)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目錄赘淮,整個(gè)目錄都是我們需要的前端文件

2. 基礎(chǔ)軟件安裝部署

所有基礎(chǔ)軟件略過的部分梢卸,參考:基于CentOS7.8安裝Ambari2.7+HDP3.1大數(shù)據(jù)平臺(tái)蛤高,其中包括操作系統(tǒng)環(huán)境的配置(免秘鑰登錄戴陡,時(shí)鐘同步等)也是安裝DBus需要的配置

2.1 安裝MySQL

2.2 Zookeeper安裝部署

2.3 安裝Kafka

需要開啟kafka的JMX端口:


然后重啟一下需要重啟的所有組件拷窜,頁面會(huì)有提示篮昧。

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

# 啟動(dòng)
sudo systemctl start influxdb
sudo systemctl status influxdb
sudo systemctl enable influxdb

# 修改端口
# 我啟動(dòng)失敗春宣,查看/var/log/messages日志發(fā)現(xiàn)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,保持默認(rèn)即可

# 啟動(dòng)
[admin@hdp02 ~]$ sudo systemctl start grafana-server
[admin@hdp02 ~]$ sudo systemctl status grafana-server
[admin@hdp02 ~]$ sudo systemctl enable grafana-server.service

登錄頁面進(jìn)行配置:

接下來是數(shù)據(jù)庫操作:

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

# 啟動(dòng)
[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目錄權(quán)限

    # 所有Storm Nimbus所在的機(jī)器刑然,都執(zhí)行此操作
    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解壓,配置環(huán)境變量
    [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復(fù)制到/etc/nginx目錄下
    [admin@hdp02 apps]$ sudo dbus/conf/nginx.conf /etc/nginx/
    # 有一處地方需要修改
    location / {
        # 這里默認(rèn)是一個(gè)相對(duì)路徑武鲁,改為絕對(duì)路徑
      root /usr/share/nginx/html/build;
      ...
    }
    
    # 4.重啟nginx
    [admin@hdp02 apps]$ sudo systemctl restart nginx
    
  • 后端程序配置沐鼠,根據(jù)自己的環(huán)境進(jìn)行修改

    # 1.修改配置文件:dbus/conf/config.properties
    #######################################################################################################
    # 是否使用dbus提供的配置中心,默認(rèn)開啟,目前僅支持spring cloud配置中心
    config.server.enabled=true
    # 如果config.server.enabled=false,請(qǐng)配置以下地址
    #spring.cloud.config.profile=環(huán)境名必須修改 release
    #spring.cloud.config.label=分支名必須修改 master
    #spring.cloud.config.uri=必須修改 http://localhost:19090
    # 配置中心端口,端口號(hào)不可用則需修改
    config.server.port=19090
    
    #######################################################################################################
    # 是否使用dbus提供的注冊(cè)中心,默認(rèn)開啟
    register.server.enabled=true
    # 如果register.server.enabled=false,請(qǐng)配置以下地址
    #register.server.url=必須修改 http://localhost:9090/eureka/
    # 注冊(cè)中心端口,端口號(hào)不可用則需修改
    register.server.port=9090
    
    #######################################################################################################
    # 暫不支持使用自己的網(wǎng)關(guān)
    # 網(wǎng)關(guān)端口,端口號(hào)不可用則需修改
    gateway.server.port=5090
    # dbus控制臺(tái)端口,端口號(hào)不可用則需修改
    mgr.server.port=8901
    # dbus數(shù)據(jù)庫服務(wù)端口,端口號(hào)不可用則需修改
    service.server.port=18901
    # mysql管理庫相關(guān)配置
    spring.datasource.url=jdbc:mysql://hdp01:3306/dbusmgr?characterEncoding=utf-8
    spring.datasource.username=dbusmgr
    spring.datasource.password=123456
    
    #######################################################################################################
    # dbus集群列表,dbus web所在機(jī)器必須能免密訪問該列表所有機(jī)器
    dbus.cluster.server.list=hdp01,hdp02,hdp03,hdp04
    # dbus集群統(tǒng)一免密用戶
    dbus.cluster.server.ssh.user=admin
    # dbus集群統(tǒng)一免密端口號(hào)
    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外網(wǎng)地址(域名)
    influxdb.web.url=http://hdp01:8086
    # influxdb內(nèi)網(wǎng)地址,不區(qū)分內(nèi)外網(wǎng)influxdb_url_web和influxdb_url_dbus配置一樣即可
    influxdb.dbus.url=http://hdp01:8086
    # grafana外網(wǎng)地址(域名)
    grafana.web.url=http://hdp02:3000
    # grafana內(nèi)網(wǎng)地址,不區(qū)分內(nèi)外網(wǎng)igrafana_url_web和grafana_url_dbus配置一樣即可
    grafana.dbus.url=http://hdp02:3000
    # grafana管理員token
    grafana.token=eyJrIjoiZEhic0RuemI2WUc3bGhXdHFTS2JxZ0N3M3BONUdhWloiLCJuIjoiYWRtaW4iLCJpZCI6MX0=
    # storm nimbus leader所在機(jī)器,這里只需配置leader機(jī)器,僅一臺(tái)
    storm.nimbus.host=hdp01
    # storm nimbus根目錄
    storm.nimbus.home.path=/usr/hdp/3.1.4.0-315/storm
    # storm worker日志根目錄,默認(rèn)storm.nimbus.home.path下的logs目錄
    storm.nimbus.log.path=/data/log/storm
    # stormUI url
    storm.rest.url=http://hdp01:8744/
    # storm在zookeeper的根節(jié)點(diǎn)
    storm.zookeeper.root=/storm
    # 心跳程序自動(dòng)部署目標(biāo)機(jī)器,多個(gè)機(jī)器逗號(hào)隔開(半角逗號(hào))
    heartbeat.host=hdp01,hdp02,hdp03,hdp04
    # 心跳程序自動(dòng)部署根目錄
    heartbeat.path=/data/dbus/heartbeat
    
    #######################################################################################################
    # nginx所在機(jī)器ip
    nginx.ip=hdp02
    # nginx.config配置的listen端口號(hào)
    nginx.port=8080
    
    # 2.在所有規(guī)劃的dbus heartbeat服務(wù)節(jié)點(diǎn)創(chuàng)建數(shù)據(jù)目錄
    sudo mkdir -p /data/dbus/heartbeat
    sudo chown -R admin:admin /data/dbus
    
    # 3.啟動(dòng)Dbus-Keeper
    [admin@hdp02 apps]$ chmod u+x dbus/bin/init-all.sh dbus/bin/start.sh dbus/bin/stop.sh
    # 注意憔涉,進(jìn)入bin目錄下執(zhí)行腳本析苫,腳本中使用的相對(duì)路徑国旷,不然會(huì)找不到j(luò)ar包
    [admin@hdp02 apps]$ dbus/bin
    
    # 這個(gè)腳本會(huì)先對(duì)環(huán)境做細(xì)致的檢查跪但,有任何一項(xiàng)環(huán)境問題都會(huì)報(bào)錯(cuò)
    [admin@hdp02 bin]$ init-all.sh 
    加載config.properties配置文件中...
    nginx地址檢測通過
    測試數(shù)據(jù)庫連通性...
    數(shù)據(jù)庫連通性測試通過
    kafka檢測通過
    influxdb地址檢測通過
    測試ZK連通性...
    ZK連通性測試通過
    驗(yàn)證密鑰是否存在...
    ~/.ssh/id_rsa密鑰文件存在
    開始初始化dbusmgr相關(guān)表...
    初始化dbusmgr相關(guān)表成功
    初始化DBusInit節(jié)點(diǎn)完成
    解壓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目錄...
    啟動(dòng)config-server...
    啟動(dòng)config-server中...
    啟動(dòng)config-server成功
    啟動(dòng)register-server...
    啟動(dòng)register-server中...
    啟動(dòng)register-server成功
    啟動(dòng)gateway...
    啟動(dòng)keeper-mgr...
    啟動(dòng)keeper-service...
    dbusweb程序啟動(dòng)中...
    dbusweb程序啟動(dòng)中...
    dbusweb程序啟動(dòng)中...
    啟動(dòng)gateway成功
    啟動(dòng)keeper-mgr成功
    啟動(dòng)keeper-service成功
    啟動(dòng)dbusweb程序成功
    登陸測試中...
    登陸測試中...
    登陸測試中...
    登陸測試成功.
    初始化dbus其他配置...
    {"status":0,"message":"ok"}
    初始化其他配置成功.
    初始化完成,請(qǐng)登錄web開啟dbus之旅.
    
    # 上面的命令只是進(jìn)行啟動(dòng)的測試忆首,接下來進(jìn)行真正的啟動(dòng)
    [admin@hdp02 bin]$ ./start.sh 
    啟動(dòng)config-server...
    啟動(dòng)config-server...
    啟動(dòng)register-server...
    啟動(dòng)register-server...
    啟動(dòng)gateway...
    啟動(dòng)keeper-mgr...
    啟動(dòng)keeper-service...
    
  • 訪問WEB-UI

# 檢查DBUS安裝情況
# 規(guī)劃的4個(gè)節(jié)點(diǎn)安裝heartbeat server,安裝在/data/dbus/heartbeat目錄下
# 4個(gè)節(jié)點(diǎn)都應(yīng)該安裝成功
[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

# 啟動(dòng)4個(gè)節(jié)點(diǎn)的heartbeat服務(wù)丁鹉,4個(gè)節(jié)點(diǎn)全部執(zhí)行
[admin@hdp01 heartbeat]$ cd dbus-heartbeat-0.6.1/
[admin@hdp01 dbus-heartbeat-0.6.1]$ nohup sh heartbeat.sh > heartbeat.log 2>&1 &



# 檢查表創(chuàng)建情況
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)

在頁面查一下集群狀態(tài):

到這里冯凹,DBus的安裝部署就成功了宇姚!在bin目錄下執(zhí)行stop.sh就可以停止DBus服務(wù)浑劳。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市蒜绽,隨后出現(xiàn)的幾起案子躲雅,更是在濱河造成了極大的恐慌相赁,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,755評(píng)論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件东囚,死亡現(xiàn)場離奇詭異桨嫁,居然都是意外死亡璃吧,警方通過查閱死者的電腦和手機(jī)畜挨,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,305評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人修己,你說我怎么就攤上這事睬愤。” “怎么了钻蔑?”我有些...
    開封第一講書人閱讀 165,138評(píng)論 0 355
  • 文/不壞的土叔 我叫張陵,是天一觀的道長映跟。 經(jīng)常有香客問我,道長扬虚,這世上最難降的妖魔是什么努隙? 我笑而不...
    開封第一講書人閱讀 58,791評(píng)論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮辜昵,結(jié)果婚禮上荸镊,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好躬存,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,794評(píng)論 6 392
  • 文/花漫 我一把揭開白布张惹。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,631評(píng)論 1 305
  • 那天格嗅,我揣著相機(jī)與錄音粪摘,去河邊找鬼椎咧。 笑死拗踢,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的庵芭。 我是一名探鬼主播好乐,決...
    沈念sama閱讀 40,362評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼昵慌,長吁一口氣:“原來是場噩夢(mèng)啊……” “哼淳蔼!你這毒婦竟也來了存皂?” 一聲冷哼從身側(cè)響起猜憎,我...
    開封第一講書人閱讀 39,264評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤踩官,失蹤者是張志新(化名)和其女友劉穎嘁扼,沒想到半個(gè)月后不傅,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,724評(píng)論 1 315
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,900評(píng)論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了囊嘉。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,040評(píng)論 1 350
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡错忱,死狀恐怖勒葱,靈堂內(nèi)的尸體忽然破棺而出至非,到底是詐尸還是另有隱情信卡,我是刑警寧澤咐低,帶...
    沈念sama閱讀 35,742評(píng)論 5 346
  • 正文 年R本政府宣布,位于F島的核電站爹袁,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏阅懦。R本人自食惡果不足惜惕它,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,364評(píng)論 3 330
  • 文/蒙蒙 一半醉、第九天 我趴在偏房一處隱蔽的房頂上張望缩多。 院中可真熱鬧姆泻,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,944評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽耿焊。三九已至揪惦,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間罗侯,已是汗流浹背器腋。 一陣腳步聲響...
    開封第一講書人閱讀 33,060評(píng)論 1 270
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留钩杰,地道東北人纫塌。 一個(gè)月前我還...
    沈念sama閱讀 48,247評(píng)論 3 371
  • 正文 我出身青樓,卻偏偏與公主長得像讲弄,于是被迫代替她去往敵國和親措左。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,979評(píng)論 2 355