1. 程式人生 > 實用技巧 >Kafka叢集管理工具Kafka-manager安裝使用

Kafka叢集管理工具Kafka-manager安裝使用

Kafka叢集管理工具Kafka-manager安裝使用

一、kafka-manager簡介

kafka-manager是目前最受歡迎的kafka叢集管理工具,最早由雅虎開源,使用者可以在Web介面執行一些簡單的叢集管理操作。具體支援以下內容:

  • 管理多個叢集
  • 輕鬆檢查群集狀態(主題,消費者,偏移,代理,副本分發,分割槽分發)
  • 執行首選副本選舉
  • 使用選項生成分割槽分配以選擇要使用的代理
  • 執行分割槽重新分配(基於生成的分配)
  • 使用可選主題配置建立主題(0.8.1.1具有與0.8.2+不同的配置)
  • 刪除主題(僅支援0.8.2+並記住在代理配置中設定delete.topic.enable = true)
  • 主題列表現在指示標記為刪除的主題(僅支援0.8.2+)
  • 批量生成多個主題的分割槽分配,並可選擇要使用的代理
  • 批量執行重新分配多個主題的分割槽
  • 將分割槽新增到現有主題
  • 更新現有主題的配置

kafka專案地址;https://github.com/yahoo/kafka-manager

二、kafka-manager安裝

2.1 安裝kafa-manager

下載最新版是要求是jdk11

下載地址:https://github.com/yahoo/kafka-manager/releases

# cd /opt    
# git clone https://github.com/yahoo/kafka-manager
# ./sbt clean distcd #編譯時間久需要耐心等待

得到cmak-3.0.0.1.zip包

cd /opt/kafka-manager/target/universal
unzip cmak-3.0.0.1.zip -d /usr/local/kafka-manager

#修改配置
vim /usr/local/kafka-manager/conf/application.conf 
kafka-manager.zkhosts="172.21.140.31:2181,172.21.140.32:2181,172.21.140.33:2181"

啟動

kafka-manager 預設的埠是9000,可通過 -Dhttp.port,指定埠; -Dconfig.file=conf/application.conf指定配置檔案:
nohup bin/cmak -Dconfig.file=conf/application.conf -Dhttp.port=8080 &

2.2 瀏覽器訪問

訪問:IP:8080

三、測試

對Kafka進行測試。分別建立topic,producer,consumer,最好是在不同的節點上建立。在producer的控制檯上輸入資訊,觀察consumer控制檯是否能夠接收到

3.1 建立topic

[root@node1 bin]# ./kafka-topics.sh --create --zookeeper 172.21.140.31:2181,172.21.140.32:2181,172.21.140.33:2181 --replication-factor 3 --partitions 3 --topic oneplus-kafka 
Created topic oneplus-kafka.

--replication-factor 指定partition的replicas數,建議設定為2;

--partitions 指定分割槽數,這個引數需要根據broker數和資料量決定,正常情況下,每個broker上兩個partition最好;

--topic xuel 主題為oneplus-kafka

3.2 檢視topic

	Topic: xuel	Partition: 2	Leader: 2	Replicas: 2,3,1	Isr: 2,3,1
[root@node1 bin]# ./kafka-topics.sh --describe --zookeeper 172.21.140.31:2181,172.21.140.32:2181,172.21.140.33:2181  --topic oneplus-kafka
Topic: oneplus-kafka	PartitionCount: 3	ReplicationFactor: 3	Configs: 
	Topic: oneplus-kafka	Partition: 0	Leader: 2	Replicas: 2,3,1	Isr: 2,3,1
	Topic: oneplus-kafka	Partition: 1	Leader: 3	Replicas: 3,1,2	Isr: 3,1,2
	Topic: oneplus-kafka	Partition: 2	Leader: 1	Replicas: 1,2,3	Isr: 1,2,3
[root@node1 bin]# 

通過web介面建立kafka-{1-4}

3.3 刪除topic

# ./kafka-topics.sh --delete --zookeeper 172.21.140.31:2181,172.21.140.32:2181,172.21.140.33:2181  --topic kafka-3

3.4 建立釋出者

建立broker

./kafka-console-producer.sh --broker-list 172.21.130.31:9092,172.21.140.32:9092,172.21.140.33:9092 --topic oneplus-kafka

3.5 建立消費者

./kafka-console-consumer.sh --topic oneplus-kafka --bootstrap-server 172.21.140.32:9092 --from-beginning

3.6 web介面檢視