kafka eagle 安裝文檔
環境介紹 :kafka 三台 版本:2.2.1+cdh6.3.2 管理:ZK
kafka-eagle-bin-2.0.5.tar.gz安裝包准備
官網 :http://download.kafka-eagle.org/
百度雲鏈接:https://pan.baidu.com/s/12wyPvcN_F7fZKPjZ-nHRsw
提取碼:yrfq
--來自百度網盤超級會員V4的分享
配置
安裝指南
https://www.kafka-eagle.org/articles/docs/installation/linux-macos.html
參數解釋
https://www.kafka-eagle.org/articles/docs/installation/configuration.html
配置1:1.8+jdk
1、檢查當前系統中JDK
[root@localhost ~]# java -version
openjdk version "1.8.0_121"
OpenJDK Runtime Environment (build 1.8.0_121-b08)
OpenJDK 64-Bit Server VM (build 25.121-b08, mixed mode)
2、檢測JDK依賴
[root@localhost ~]# rpm -aq | grep java
java-1.8.0-openjdk-headless-1.8.0.121.b08-1.el7.x86_64
python-javapackages-3.4.1-11.el7.noarch
tzdata-java-2019c-1.el7.noarch
javapackages-tools-3.4.1-11.el7.noarch
java-1.8.0-openjdk-1.8.0.242.b08-1.el7.x86_64
3、卸載OpenJDK
[root@localhost ~]# rpm -e --nodeps java-1.8.0-openjdk-headless-1.8.0.242.b08-1.el7.x86_6
[root@localhost ~]# rpm -e --nodeps java-1.8.0-openjdk-1.8.0.242.b08-1.el7.x86_64
[root@localhost root]$ java -version
bash: java: 未找到命令...
[root@localhost ~]# rpm -qa | grep java
python-javapackages-3.4.1-11.el7.noarch
tzdata-java-2019c-1.el7.noarch
javapackages-tools-3.4.1-11.el7.noarch
4、安裝JDK
[root@localhost /opt]# tar -xvf jdk-8u261-linux-x64.tar.gz
5、配置環境變量
[root@localhost ~]# vim /etc/profile
export JAVA_HOME=/opt/jdk1.8.0_261
export PATH=$JAVA_HOME/bin:$PATH
6、加載新增配置、驗證JDK
[root@localhost ~]# source /etc/profile
[root@localhost ~]# java -version
java version "1.8.0_261"
Java(TM) SE Runtime Environment (build 1.8.0_261-b11)
Java HotSpot(TM) 64-Bit Server VM (build 25.261-b11, mixed mode)
配置2:eagle配置
1.解壓eagle安裝包
cd /opt/
tar -zxf kafka-eagle-bin-2.0.5.tar.gz
cd kafka-eagle-bin-2.0.5
tar -zxf kafka-eagle-web-2.0.5-bin.tar.gz
2.配置system-config.properties
[root@localhost ~]# cd /opt/kafka-eagle-bin-2.0.5/kafka-eagle-web-2.0.5/conf
[root@localhost ~]# vim system-config.properties path:
######################################
# multi zookeeper & kafka cluster list
# 配置kafka集群信息,多個集群可進行多次配置 參考官網安裝指南 配置hostname需要在/etc/hosts配置主機hostname和ip映射關系
######################################
kafka.eagle.zk.cluster.alias=cluster1
cluster1.zk.list=節點ip/節點hostname:2181,節點ip/節點hostname:2181,節點ip/節點hostname:2181
######################################
# zookeeper enable acl
# kafka acl 沒有開啟給值false即可
######################################
cluster1.zk.acl.enable=false
cluster1.zk.acl.schema=digest
cluster1.zk.acl.username=test
cluster1.zk.acl.password=test123
######################################
# broker size online list
######################################
cluster1.kafka.eagle.broker.size=20
######################################
# zk client thread limit
# zk 線程數量
######################################
kafka.zk.limit.size=25
######################################
# kafka eagle webui port
######################################
kafka.eagle.webui.port=8048
######################################
# kafka jmx acl and ssl authenticate
# jmx的acl控制
######################################
cluster1.kafka.eagle.jmx.acl=false
cluster1.kafka.eagle.jmx.user=keadmin
cluster1.kafka.eagle.jmx.password=keadmin123
cluster1.kafka.eagle.jmx.ssl=false
cluster1.kafka.eagle.jmx.truststore.location=/Users/dengjie/workspace/ssl/certificates/kafka.truststore
cluster1.kafka.eagle.jmx.truststore.password=ke123456
######################################
# kafka offset storage
# Kafka offsets stored in kafka. kafka自身管理offset
######################################
cluster1.kafka.eagle.offset.storage=kafka
######################################
# kafka jmx uri
######################################
cluster1.kafka.eagle.jmx.uri=service:jmx:rmi:///jndi/rmi://%s/jmxrmi
######################################
# kafka metrics, 15 days by default
# 指標是否開啟 指標保留時間/天
######################################
kafka.eagle.metrics.charts=true
kafka.eagle.metrics.retain=15
######################################
# kafka sql topic records max
# sql最大記錄數 是否自動修復sql錯誤
######################################
kafka.eagle.sql.topic.records.max=5000
kafka.eagle.sql.fix.error=false
######################################
# delete kafka topic token
# 刪除topic時的token密鑰
######################################
kafka.eagle.topic.token=keadmin
######################################
# kafka sasl authenticate
# kafka sasl是否開啟以及相關配置
######################################
cluster1.kafka.eagle.sasl.enable=false
cluster1.kafka.eagle.sasl.protocol=SASL_PLAINTEXT
cluster1.kafka.eagle.sasl.mechanism=PLAIN
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=
cluster1.kafka.eagle.blacklist.topics=
cluster1.kafka.eagle.sasl.cgroup.enable=false
cluster1.kafka.eagle.sasl.cgroup.topics=
######################################
# kafka mysql jdbc driver address
# 數據存儲數據配置 mysql/sqlite 以下為mysql配置
######################################
kafka.eagle.driver=com.mysql.cj.jdbc.Driver
kafka.eagle.url=jdbc:mysql://mysql數據庫ip:3306/ke?useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull
kafka.eagle.username=mysql用戶
kafka.eagle.password=mysql密碼
3.啟動eagle
[root@localhost ~]# cd /opt/kafka-eagle-bin-2.0.5/kafka-eagle-web-2.0.5/bin
[root@localhost ~]# chomd 777 ke.sh
[root@localhost ~]# ./ke.sh start
### ke.sh restart 重啟
### ke.sh stop 停止
[2021-07-02 11:04:35] INFO: Port Progress: [##################################################] | 100%
[2021-07-02 11:04:38] INFO: Config Progress: [##################################################] | 100%
[2021-07-02 11:04:41] INFO: Startup Progress: [##################################################] | 100%
[2021-07-02 11:04:31] INFO: Status Code[0]
[2021-07-02 11:04:31] INFO: [Job done!]
Welcome to
__ __ ___ ____ __ __ ___ ______ ___ ______ __ ______
/ //_/ / | / __/ / //_/ / | / ____/ / | / ____/ / / / ____/
/ ,< / /| | / /_ / ,< / /| | / __/ / /| | / / __ / / / __/
/ /| | / ___ | / __/ / /| | / ___ | / /___ / ___ |/ /_/ / / /___ / /___
/_/ |_| /_/ |_|/_/ /_/ |_| /_/ |_| /_____/ /_/ |_|\____/ /_____//_____/
Version 2.0.5 -- Copyright 2016-2021
*******************************************************************
* Kafka Eagle Service has started success.
* Welcome, Now you can visit 'http://xxx.xxx.x.xxx:8048'
* Account:admin ,Password:123456
*******************************************************************
* <Usage> ke.sh [start|status|stop|restart|stats] </Usage>
* <Usage> https://www.kafka-eagle.org/ </Usage>
*******************************************************************
4.訪問eagle
http://xxx.xxx.x.xxx:8048
Account:admin ,Password:123456
遇到的問題
1.頁面中kafka版本不能加載
報錯日志:
Mx4jServiceImpl.org.springframework.scheduling.quartz.SchedulerFactoryBean#1_Worker-7 - ERROR - JMX service url[xxxx:9393] create has error,msg is java.io.IOException cannot be cast to javax.management.remote.JMXConnector
原因:訪問kafka jmx時失敗
解決方案 :CDH的CM界面修改kafka broker_java_opts配置,如果kafka集群有多個節點,每個節點都需配置對應IP/host
示例:
原kafka節點1 broker_java_opts配置:
-server -XX:+UseG1GC -XX:MaxGCPauseMillis=20 -XX:InitiatingHeapOccupancyPercent=35 -XX:G1HeapRegionSize=16M -XX:MinMetaspaceFreeRatio=50 -XX:MaxMetaspaceFreeRatio=80 -XX:+DisableExplicitGC -Djava.awt.headless=true -Djava.net.preferIPv4Stack=true -Dcom.sun.management.jmxremote.host=127.0.0.1 -Dcom.sun.management.jmxremote.local.only=true -Djava.rmi.server.hostname=127.0.0.1
修改kafka節點1 broker_java_opts配置中 -Dcom.sun.management.jmxremote.host 和 -Djava.rmi.server.hostname 的值為對應kafka節點的IP或者hostname(需要主機配置host/ip映射關系):
-server -XX:+UseG1GC -XX:MaxGCPauseMillis=20 -XX:InitiatingHeapOccupancyPercent=35 -XX:G1HeapRegionSize=16M -XX:MinMetaspaceFreeRatio=50 -XX:MaxMetaspaceFreeRatio=80 -XX:+DisableExplicitGC -Djava.awt.headless=true -Djava.net.preferIPv4Stack=true -Dcom.sun.management.jmxremote.host=192.168.1.XX(當前kafka節點的IP/HostName) -Dcom.sun.management.jmxremote.local.only=true -Djava.rmi.server.hostname=192.168.1.XX(當前kafka節點的IP/HostName)