kafka eagle安裝部署


在消費kafka的消息時,數據的變動是最重要的,要確保沒有數據丟失,所以kafka的監控很重要.kafka的監控工具主流的有三種

  • 1、Kafka Web Conslole
  • 2、Kafka Manager
  • 3、KafkaOffsetMonitor
  • 4、kafka Eagle

以下主要介紹kafka Eagle的簡單安裝和部署

Kafka Eagle 用於監控 Kafka 集群中 Topic 被消費的情況。包含 Lag 的產生,Offset 的變動,Partition 的分布,Owner ,Topic 被創建的時間和修改的時間等信息。

下載:http://download.kafka-eagle.org/

GitHub 地址:https://github.com/smartloli/kafka-eagle

官網:http://www.kafka-eagle.org/

2.內容

  Kafka Eagle 涉及以下內容模塊:

  • Dashboard
  • Topic(Create & List)
  • Consumers
  • Cluster Info

Kafka Eagle的瀏覽器頁,如下圖:

 

 

1.kafka+zookeeper准備

1.kafka需要開啟JMX端口

    找到kafka安裝路徑,進入到bin文件夾,修改下面的地方。
    vi kafka-server-start.sh
...
if [ "x$KAFKA_HEAP_OPTS" = "x" ]; then
    export KAFKA_HEAP_OPTS="-server -Xms2G -Xmx2G -XX:PermSize=128m -XX:+UseG1GC -XX:MaxGCPauseMillis=200 -XX:ParallelGCThreads=8 -XX:ConcGCThreads=5 -XX:InitiatingHeapOccupancyPercent=70"
    export JMX_PORT="9999"
fi
...
    參考鏈接:[kafka添加jmx端口]:https://ke.smartloli.org/3.Manuals/11.Metrics.html

2.了解kafka在zookeeper配置
    需要查看kafka的server.properties配置
    找到zookeeper.connect此項配置,這個是要配置到eagle里面的
    此處假設zookeeper.connect=192.168.18.11:2181,192.168.18.12:2181,192.168.18.13:2181
    !!!PS:此處踩了坑,如果說這里的zookeeper地址后面加了其他路徑,在kafka-eagle里面也要配置,
    否則在kafka-eagle的Dashboard中無法讀取到kafka的信息。比如我們有人安裝的kafka集群里面就有    
    192.168.18.11:2181/kafka1或者192.168.18.11:2181/kafka2這種地址。
    如果你在安裝kafka的時候沒有配置多余路徑,這樣是最好的,如果有一定要加上。
3.連通性測試
  安裝kafka-eagle的服務器,一定要提前測試是否能連接kafka注冊的zookeeper端口
  telnet 端口進行測試

2.JDK環境准備
jdk1.7+

3.開始安裝kafka-eagle
1.下載安裝包
軟件安裝目錄建議按照自己的規范來,以后好找
cd /tmp
wget https://github.com/smartloli/kafka-eagle-bin/archive/v1.2.2.tar.gz
tar zxf v1.2.2.tar.gz
cd kafka-eagle-bin-1.2.2
tar zxf kafka-eagle-web-1.2.2-bin.tar.gz -C /data/app/
cd /data/app
mv kafka-eagle-web-1.2.2 kafka-eagle

2.環境配置
vi /etc/profile
export KE_HOME=/data/app/kafka-eagle
export PATH=$PATH:$KE_HOME/bin
ps:此處的KE_HOME按照自己實際安裝的目錄來,我安裝在/data/app/kafka-eagle下面
如果你是安裝的其他目錄,別忘了修改。


3.配置修改 cd ${KE_HOME}/conf vi system-config.properties # multi zookeeper&kafka cluster list -- The client connection address of the Zookeeper cluster is set here #如果只有一個集群的話,就寫一個cluster1就行了 kafka.eagle.zk.cluster.alias=cluster1,cluster2 #這里填上剛才上准備工作中的zookeeper.connect地址 cluster1.zk.list=192.168.18.11:2181,192.168.18.12:2181,192.168.18.13:2181 #如果多個集群,繼續寫,如果沒有注釋掉 cluster2.zk.list=192.168.18.21:2181,192.168.18.22:2181,192.168.18.23:2181/kafka # zk limit -- Zookeeper cluster allows the number of clients to connect to kafka.zk.limit.size=25 # kafka eagel webui port -- WebConsole port access address kafka.eagle.webui.port=8048 ###web界面地址端口 # kafka offset storage -- Offset stored in a Kafka cluster, if stored in the zookeeper, you can not use this option kafka.eagle.offset.storage=kafka # delete kafka topic token -- Set to delete the topic token, so that administrators can have the right to delete kafka.eagle.topic.token=keadmin # kafka sasl authenticate, current support SASL_PLAINTEXT #如果kafka開啟了sasl認證,需要在這個地方配置sasl認證文件 kafka.eagle.sasl.enable=false kafka.eagle.sasl.protocol=SASL_PLAINTEXT kafka.eagle.sasl.mechanism=PLAIN kafka.eagle.sasl.client=/data/kafka-eagle/conf/kafka_client_jaas.conf #下面兩項是配置數據庫的,默認使用sqlite,如果量大,建議使用mysql,這里我使用的是sqlit #如果想使用mysql建議在文末查看官方文檔 # Default use sqlite to store data kafka.eagle.driver=org.sqlite.JDBC # It is important to note that the '/hadoop/kafka-eagle/db' path must exist. kafka.eagle.url=jdbc:sqlite:/data/app/kafka-eagle/db/ke.db #這個地址,按照安裝目錄進行配置 kafka.eagle.username=root kafka.eagle.password=smartloli # <Optional> set mysql address #kafka.eagle.driver=com.mysql.jdbc.Driver #kafka.eagle.url=jdbc:mysql://127.0.0.1:3306/ke?useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull #kafka.eagle.username=root #kafka.eagle.password=smartloli


4.啟動kafka-eagle
  cd ${KE_HOME}/bin chmod +x ke.sh ./ke.sh start 查看日志是否出問題 tailf ../log/log.log 如果沒問題,則直接登錄 http://host:8048/ke 默認用戶名:admin 默認密碼:12345 如果進入到一下界面,就說明你安裝成功了!



5.啟動kafka-eagle遇到問題

 1,The JAVA_HOME environment variable is not defined correctly.

 2,The KE_HOME environment variable is not defined correctly.

第一步:檢查配置文件是否生效,

輸入:env 或者 echo $JAVA_HOME

如果系統ubuntu,用apt 方式安裝,並且JAVA_HOME 和KEY_HOME 都已經正確配置,且依然找不到JAVA_HOME 或者KE_HOME

編輯 ke.sh 文件

把JAVA_HOME 和KE_HOME 加上

export JAVA_HOME=/usr/lib/jvm/java-8-oracle
export KE_HOME=/opt/kafka-eagle/kafka-eagle-web

 

 

 

 

 

 



 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM