運作環境
1、Kafka 0.8.1.1 or 0.8.2.* or 0.9.0.* or 0.10.0.*
2、sbt 0.13.x
3、Java 8+
功能
- 管理多個叢集
- 容易檢查叢集狀态(主題、消費者、偏移量、代理、副本分布、分區分布)
- 運作首選副本選舉
- 使用選項生成分區指派以選擇要使用的代理
- 運作分區的重新配置設定(基于生成的指派)
- 建立一個可選的主題配置主題(0.8.1.1比82 +不同的配置)
- 删除主題(僅在0.8.2 +支援記得設定删除。話題。使=在代理配置正确)
- 話題清單現在顯示标記為删除的内容(僅在0.8.2 +支援)
- 批量生成多個主題的分區配置設定,并選擇要使用的代理多個主題分區的批處理運作再配置設定
- 向現有主題添加分區
- 更新現有主題的配置
- 選擇是否啟用JMX輪詢代理層和主題水準的名額。
- 選擇過濾出消費者沒有IDS /業主/偏移/目錄管理者
編譯環境部署
下載下傳安裝sbt源碼包,這裡我下載下傳的版本是sbt-0.13.15
http://www.scala-sbt.org/download.html
解壓檔案
[root@storm1 sbt]# pwd
/application/kafka-manager/sbt
[root@storm1 sbt]# tree -L 2
.
├── sbt
│ ├── bin
│ ├── conf
│ ├── lib
│ └── sbt
└── sbt-..zip
其中/application/kafka-manager/sbt/sbt/sbt 檔案建立并寫入内容:
[root@storm1 sbt]# cat sbt
BT_OPTS="-Xms512M -Xmx1536M -Xss1M -XX:+CMSClassUnloadingEnabled -XX:MaxPermSize=256M"
java $SBT_OPTS -jar /application/kafka-manager/sbt/sbt/bin/sbt-launch.jar "[email protected]
添加可執行權限 chmod u+x sbt
配置PATH 環境量
vim /etc/profile 添加内容
#sbt環境
export PATH=/application/kafka-manager/sbt/sbt/:$PATH
source /etc/profile 使其生效。
sbt設定
配置檔案在/application/kafka-manager/sbt/sbt/conf
設定網絡代理
vim sbtconfig.tx
-Dhttp.proxyHost=proxy.zte.com.cn
-Dhttp.proxyPort=
第一次執行下載下傳相應的依賴包
下載下傳完成後,會在你目前使用者的目前下面生成兩個檔案夾
sbt工作檔案夾.sbt和lvy緩存目錄.ivy2,修改預設路徑,在配置中添加:
-Dsbt.global.base=/root/.sbt
-Dsbt.ivy.home=/root/.ivy2
測試sbt是否安裝成功
[[email protected] sbt]# ./bin/sbt sbt-version
WARN: No sbt.version set in project/build.properties, base directory: /application/kafka-manager/sbt/sbt
[warn] Executing in batch mode.
[warn] For better performance, hit [ENTER] to switch to interactive mode, or
[warn] consider launching sbt without any commands, or explicitly passing 'shell'
[info] Set current project to sbt (in build file:/application/kafka-manager/sbt/sbt/)
[info]
下載下傳源碼編譯打包
擷取kafka-manager源碼,并編譯打包,包會生成在(kafka-manager/target/universal)
git clone https://github.com/yahoo/kafka-manager
cd kafka-manager
./sbt clean dist
安裝、配置、啟動
在conf/application.conf中将kafka-manager.zkhosts的值設定為你的zk位址
編輯application.conf
/application/kafka-manager/kafka-manager/target/universal/kafka-manager-/conf/application.conf
啟動,指定配置檔案和端口号
nohup bin/kafka-manager
-Dconfig.file=/application/kafka-manager/kafka-manager/target/universal/kafka-manager-/conf/application.conf
-Dhttp.port= &
通路http://yourip:7778 進入web管理界面,并添加相應kafka-cluster配置如下:
![](https://img.laitimes.com/img/__Qf2AjLwojIjJCLyojI0JCLiQ3chVEa0V3bT9CX5RXa2Fmcn9CXwczLcVmds92czlGZvwVP9EUTDZ0aRJkSwk0LcxGbpZ2LcBDM08CXlpXazRnbvZ2LcRlMMVDT2EWNvwFdu9mZvwVP9c2YsR2MidXNXlla5YlW1ZkMhZXUYpVd1kmYr50MZV3YyI2cKJDT29GRjBjUIF2LcRHelR3LcJzLctmch1mclRXY39DNzAzNyUDM3EjNxYDM3EDMy8CX0Vmbu4GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.jpg)
這裡要開啟選項前提是:在配置kafka叢集的時候指定相應jmx端口
Enable JMX Polling (Set JMX_PORT env variable before starting kafka server)
Poll consumer information (Not recommended for large # of consumers)
kafka服務必需要開啟JMX,否則在下一步啟動kafka-manager時會出現:
java.lang.IllegalArgumentException: requirement failed: No jmx port but jmx polling enabled!
啟動kafka服務時指定JMX_PORT值:
或者修改kafka-server-start.sh,在前面加上: