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。
登录页面为:
登录后结果为: