基于jmx监控kafka_0542-6.1.0-非安全环境下Kafka管理工具Kafka Eagle安装使用
1.文檔編寫目的
Fayson在前面的文章介紹了《0374-如何在CDH集群中部署Kafka Manager》,本篇文章Fayson介紹另外一款的監控工具Kafka-eagle,它可以同時監控多個集群,監控集群中Topic的被消費情況(包含Lag產生、Offset的改變及Partition分布),同時也支持SQL查詢。接下來Fayson主要介紹下在非安全環境下Kafka-eagle的安裝及使用。
- 內容概述
1.環境準備及安裝
2.Kafka-eagle配置
3.Kafka-eagle使用
4.總結
- 測試環境
1.CM和CDH版本為6.1.0
2.Kafka版本為2.0.0
3.Kafka-eagle版本為1.2.9
2.環境準備及說明
1.Kafka-eagle運行依賴Java運行環境,需要在部署節點安裝JDK(支持JDK8+)
export JAVA_HOME=/usr/java/jdk1.8.0_131-clouderaexport PATH=$JAVA_HOME/bin:$PATHexport CLASSPATH=$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tool.jar:$CLASSPATH驗證Java環境是否配置成功
2.Kafka-eagle對Kafka版本支持
更多信息可在github上查看:https://github.com/smartloli/kafka-eagle
3.Kafka-eagle下載,可以在github上下載源碼編譯或是官網下載已編譯好版本,地址如下
源碼下載地址:https://github.com/smartloli/kafka-eagle
編譯好版本下載地址:https://github.com/smartloli/kafka-eagle-bin/archive/v1.2.9.tar.gz
4.修改CDH中Kafka服務JMX監聽地址,默認監聽地址為127.0.0.1
將Broker Java Options選項中“-Dcom.sun.management.jmxremote.host=127.0.0.1”刪除,修改后的配置如下:
-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.local.only=true保存配置并重啟Kakfa服務,啟動成功后在命令行驗證監聽地址是否由127.0.0.1修改為0.0.0.0
3.Kafka-eagle安裝及配置
1.Fayson選擇已編譯好的版本進行安裝部署,使用wget命令直接下載
2.將下載的v1.2.9.tar.gz解壓并移到/opt/clouera目錄下
[root@cdh3 ~]# tar -zxvf v1.2.9.tar.gz[root@cdh3 ~]# tar -zxvf kafka-eagle-bin-1.2.9/kafka-eagle-web-1.2.9-bin.tar.gz[root@cdh3 ~]# mv kafka-eagle-web-1.2.9/ /opt/cloudera/kafka-eagle[root@cdh3 ~]# ll /opt/cloudera/kafka-eagle/3.配置Kafka-eagle環境變量,在/etc/profile文件中增加如下內容
export KE_HOME=/opt/cloudera/kafka-eagle/export export PATH=$KE_HOME/bin:$PATH執行source /etc/profile命令使環境變量生效。
4.進入{KE_HOME}/conf目錄下修改system-config.properties,內容如下:
#Fayson只有一個Kafka集群,所以注釋了cluster2的配置kafka.eagle.zk.cluster.alias=cluster1cluster1.zk.list=cdh1:2181,cdh3:2181,cdh4:2181#cluster2.zk.list=xdn10:2181,xdn11:2181,xdn12:2181kafka.zk.limit.size=25#kafka-eagle管理平臺web端口號kafka.eagle.webui.port=8048#kafka版本為2.0.0使用的kafka存儲offsetcluster1.kafka.eagle.offset.storage=kafka#cluster2.kafka.eagle.offset.storage=zk#Kafka-eagle的監控指標及SQL功能開關kafka.eagle.metrics.charts=truekafka.eagle.sql.fix.error=truekafka.eagle.sql.topic.records.max=5000#刪除Topic需要輸入的tokenkafka.eagle.topic.token=keadmin#Kafka-eagle元數據庫,默認為sqlitekafka.eagle.driver=com.mysql.jdbc.Driverkafka.eagle.url=jdbc:mysql://cdh4:3306/kafkaeagle?useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNullkafka.eagle.username=rootkafka.eagle.password=123456未列出的配置均使用默認配置即可。
5.配置中選擇使用MySQL存儲Kafka-eagle的元數據,需要在MySQL上創建一個kafkaeagle的數據庫
6.進入{KE_HOME}/bin目錄下啟動kafka-eagle服務
[root@cdh3 bin]# pwd/opt/cloudera/kafka-eagle/bin[root@cdh3 bin]# chmod +x ke.sh [root@cdh3 bin]# ./ke.sh start腳本執行成功顯示如下:
腳本執行成功后,會提示kafka-eagle服務的訪問地址及賬號密碼。
7.在瀏覽器輸入http://test.cm.com:8048/ke
4.Kafka-eagle使用
1.輸入賬號密碼登錄Kafka-eagle,主頁面總覽Kafka集群的Brokers、Topics、Zookeepers及ConsumerGroups等信息
2.在管理界面行創建一個測試Topic
創建成功
CM上也可以看到創建成功的Topic
3.Kafka-eagle提供Mock功能,可以模擬向指定的Topic發送消息
4.查看Kafka集群所有Topic
點擊Topic Name查看Topic的Partition、Leader、Replicas及ISR列表
5.Consumers下可以看到所有Group的消費Topic的情況及消費進度
點擊Group名稱查看詳情
點擊“Pending”查看具體Topic消費情況
6.通過Metrics可以看到集群的Brokers、Kafka和Zookeeper的各項監控指標
7.可以通過Kafka-eagle配置告警,關于消息消費延遲、Kafka和Zookeeper服務狀告警,前提是需要配置郵箱服務器信息
8.系統管理功能用戶、角色、系統功能管理
5.總結
1.相比之前介紹的Kafka Manager工具Fayson更喜歡Kafka-eagle,界面簡潔操作方便
2.Kafka-eagle支持SQL查詢,但Fayson使用的版本有個sql.js加載時報錯,導致無法使用,暫時沒有截圖演示功能。
3.Kafka-eagle管理Kafka集群是通過JMX獲取集群的信息,所以要確保Kafka的JMX已啟用(CDH默認已啟用),在C6版本JMX監聽的IP地址為127.0.0.1,需要修改監聽的IP地址。
4.支持郵件、微信和釘釘告警,Consumer group對指定topic消費滯后告警,集群Brokers和Zookeeper服務異常告警。
5.注意cluster2.kafka.eagle.offset.storage配置,Kafka較早版本(0.8.2.x)offset是存在Zookeeper的。
更多功能可參考官方文檔:https://ke.smartloli.org/
在安裝測試過程總使用的Kafka自帶的性能測試腳本生成和消費消息
[root@cdh05 lib]# more /root/client.properties client.id=testgroupbootstrap.servers=cdh2:9092,cdh3:9092,cdh4:9092max.request.size=4192256生產消息腳本
/opt/cloudera/parcels/CDH/lib/kafka/bin/kafka-producer-perf-test.sh --topic test_topic_eagle --num-records 1000 --producer.config /root/client.properties --throughput 10 --record-size 1024消費消息腳本
/opt/cloudera/parcels/CDH/lib/kafka/bin/kafka-consumer-perf-test.sh --topic test_topic_eagle --messages 1000 --fetch-size 10000 --broker-list cdh2:9092,cdh3:9092,cdh4:9092總結
以上是生活随笔為你收集整理的基于jmx监控kafka_0542-6.1.0-非安全环境下Kafka管理工具Kafka Eagle安装使用的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: encrypt函数c语言,Crypt加密
- 下一篇: iphone文件怎么上传到服务器,iPh