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ù)浑劳。