Section I: 文件清單
- kafka-eagle-bin-1.4.0.tar.gz
Section II: 下載鏈接
[Kafka-Eagle 下載鏈接]:https://www.kafka-eagle.org/
Section III: Kafka-Eagle部署
總覽,集羣信息:
節點角色 | Master | Slave1 | Slave2 |
---|---|---|---|
IP | 192.168.137.128 | 192.168.137.129 | 192.168.137.130 |
HostName | BlogMaster | BlogSlave1 | BlogSlave2 |
Hadoop | BolgMaster-YES | BlogSlave1-YES | BlogSlave2-YES |
Zookeeper | BolgMaster-YES | BlogSlave1-YES | BlogSlave2-YES |
Kafka | BolgMaster-YES | BlogSlave1-YES | BlogSlave2-Yes |
Kafka-Eagle | BolgMaster-YES | BlogSlave1-NO | BlogSlave2-NO |
Step 1: 在BlogMaster主節點,解壓kafka-eagle至指定目錄
[root@BlogMaster ~]# tar -zxvf kafka-eagle-bin-1.4.0.tar.gz -C /opt/cluster/
Step 2: 在BlogMaster主節點配置環境變量KE_HOME
進入/etc目錄後,在其下profile文件中新增如下內容:
export KE_HOME=/opt/cluster/kafka-eagle-bin-1.4.0/kafka-eagle-web-1.4.0
export PATH=$PATH:$JAVA_HOME/bin:$JAVA_HOME/jre:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$HIVE_HOME/bin:$ANT_HOME/bin:$KAFKA_HOME/bin
export PATH=$PATH:$KE_HOME/bin
之後,執行source profile,使得環境變量配置立即生效。
Step 3: 在BlogMaster主節點,修改配置文件system-config.properties(位於/opt/cluster/kafka-eagle-bin-1.4.0/kafka-eagle-web-1.4.0/conf)
修改如下如下選項
- cluster1.zk.list
- kafka.eagle.zk.cluster.alias
- kafka.eagle.driver
- kafka.eagle.url
- kafka.eagle.username
- kafka.eagle.password
值得注意,由於本次只有一個Zookeeper集羣,因此需要註釋該配置文件中與cluster2關聯的所有項;另外,由於BlogMaster數據部署了MySQL數據庫,因此可以切換Kafka-Eagle默認使用的SqlLite數據庫。爲便於操作,此處給出了該配置文件修改後的結果,具體如下:
######################################
# multi zookeeper&kafka cluster list
######################################
kafka.eagle.zk.cluster.alias=cluster1
cluster1.zk.list=BlogMaster:2181,BlogSlave1:2181,BlogSlave2:2181
# cluster2.zk.list=xdn10:2181,xdn11:2181,xdn12:2181
######################################
# zk client thread limit
######################################
kafka.zk.limit.size=25
######################################
# kafka eagle webui port
######################################
kafka.eagle.webui.port=8048
######################################
# kafka offset storage
######################################
cluster1.kafka.eagle.offset.storage=kafka
# cluster2.kafka.eagle.offset.storage=zk
######################################
# kafka metrics, 30 days by default
######################################
kafka.eagle.metrics.charts=false
kafka.eagle.metrics.retain=30
######################################
# kafka sql topic records max
######################################
kafka.eagle.sql.topic.records.max=5000
kafka.eagle.sql.fix.error=false
######################################
# delete kafka topic token
# kafka eagle webui port
######################################
kafka.eagle.webui.port=8048
######################################
# kafka offset storage
######################################
cluster1.kafka.eagle.offset.storage=kafka
# cluster2.kafka.eagle.offset.storage=zk
######################################
# kafka metrics, 30 days by default
######################################
kafka.eagle.metrics.charts=false
kafka.eagle.metrics.retain=30
######################################
# kafka sql topic records max
######################################
kafka.eagle.sql.topic.records.max=5000
kafka.eagle.sql.fix.error=false
######################################
# delete kafka topic token
######################################
kafka.eagle.topic.token=keadmin
######################################
# kafka sasl authenticate
######################################
cluster1.kafka.eagle.sasl.enable=false
cluster1.kafka.eagle.sasl.protocol=SASL_PLAINTEXT
cluster1.kafka.eagle.sasl.mechanism=SCRAM-SHA-256
cluster1.kafka.eagle.sasl.jaas.config=org.apache.kafka.common.security.scram.ScramLoginModule required username="kafka" password="kafka-eagle";
cluster1.kafka.eagle.sasl.client.id=
# cluster2.kafka.eagle.sasl.enable=false
# cluster2.kafka.eagle.sasl.protocol=SASL_PLAINTEXT
# cluster2.kafka.eagle.sasl.mechanism=PLAIN
# cluster2.kafka.eagle.sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username="kafka" password="kafka-eagle";
# cluster2.kafka.eagle.sasl.client.id=
######################################
# kafka sqlite jdbc driver address
######################################
# kafka.eagle.driver=org.sqlite.JDBC
# kafka.eagle.url=jdbc:sqlite:/hadoop/kafka-eagle/db/ke.db
# kafka.eagle.username=root
# kafka.eagle.password=www.kafka-eagle.org
######################################
# kafka mysql jdbc driver address
######################################
kafka.eagle.driver=com.mysql.jdbc.Driver
kafka.eagle.url=jdbc:mysql://BlogMaster:3306/ke?useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull
kafka.eagle.username=root
kafka.eagle.password=201012
Step 4: 在BlogMaster主節點,進行kafka-eagle啓動腳本權限更改
該文件位於/opt/cluster/kafka-eagle-bin-1.4.0/kafka-eagle-web-1.4.0/bin目錄下。
修改權限命令爲:
[root@BlogMaster bin]# chmod +x ke.sh
Section IV: Kafka-Eagle Web監測
在此處,分別依次在集羣各節點啓動Zookeeper和Kafka服務後,單獨在主節點BlogMaster啓動Kafka-Eagle服務,啓動命令如下:
[root@BlogMaster bin]# ./ke.sh start
正常啓動結果如下:
[root@BlogMaster bin]# ./ke.sh start
[2019-11-15 15:21:36] INFO: Starting kafka eagle environment check ...
created: META-INF/
inflated: META-INF/MANIFEST.MF
created: WEB-INF/
created: WEB-INF/classes/
created: WEB-INF/classes/org/
created: WEB-INF/classes/org/smartloli/
created: WEB-INF/classes/org/smartloli/kafka/
created: WEB-INF/classes/org/smartloli/kafka/eagle/
created: WEB-INF/classes/org/smartloli/kafka/eagle/web/
created: WEB-INF/classes/org/smartloli/kafka/eagle/web/dao/
created: WEB-INF/classes/org/smartloli/kafka/eagle/web/controller/
created: WEB-INF/classes/org/smartloli/kafka/eagle/web/sso/
created: WEB-INF/classes/org/smartloli/kafka/eagle/web/sso/filter/
created: WEB-INF/classes/org/smartloli/kafka/eagle/web/sso/pojo/
created: WEB-INF/classes/org/smartloli/kafka/eagle/web/quartz/
created: WEB-INF/classes/org/smartloli/kafka/eagle/web/service/
created: WEB-INF/classes/org/smartloli/kafka/eagle/web/service/impl/
created: WEB-INF/classes/org/smartloli/kafka/eagle/web/pojo/
created: WEB-INF/lib/
created: WEB-INF/views/
***中間一大堆結果,此處省略.......***
inflated: media/img/ke_login.png
created: META-INF/maven/
created: META-INF/maven/org.smartloli.kafka.eagle/
created: META-INF/maven/org.smartloli.kafka.eagle/kafka-eagle-web/
inflated: META-INF/maven/org.smartloli.kafka.eagle/kafka-eagle-web/pom.xml
inflated: META-INF/maven/org.smartloli.kafka.eagle/kafka-eagle-web/pom.properties
*******************************************************************
* Kafka Eagle system monitor port successful...
*******************************************************************
[2019-11-15 15:21:36] INFO: Status Code[0]
[2019-11-15 15:21:36] INFO: [Job done!]
Welcome to
__ __ ___ ____ __ __ ___ ______ ___ ______ __ ______
/ //_/ / | / __/ / //_/ / | / ____/ / | / ____/ / / / ____/
/ ,< / /| | / /_ / ,< / /| | / __/ / /| | / / __ / / / __/
/ /| | / ___ | / __/ / /| | / ___ | / /___ / ___ |/ /_/ / / /___ / /___
/_/ |_| /_/ |_|/_/ /_/ |_| /_/ |_| /_____/ /_/ |_|\____/ /_____//_____/
Version 1.4.0
*******************************************************************
* Kafka Eagle Service has started success.
* Welcome, Now you can visit 'http://192.168.137.128:8048/ke'
* Account:admin ,Password:123456
*******************************************************************
* <Usage> ke.sh [start|status|stop|restart|stats] </Usage>
* <Usage> https://www.kafka-eagle.org/ </Usage>
*******************************************************************
其中,上述結果給出了採用kafka-eagle檢測kafka集羣的Web網址、賬戶和密碼。
具體地,對於本集羣,登錄網址:http://192.168.137.128:8048/ke/,賬戶、密碼分別爲admin和123456。
登錄頁面爲:
登錄後結果爲: