Kafka集羣及監控安裝指南

kafka官網:http://kafka.apache.org/html

官方文檔:http://kafka.apache.org/documentation.html#quickstartjava

  • kafka集羣安裝git

    下載: kafka_2.10-0.8.2.0.tar.gzgithub

    解壓: tar -zxvf kafka_2.10-0.8.2.0.tgzweb

    軟連接配置: ln -s kafka_2.10-0.8.2.0 kafkaapache

  • 修改配置文件
    緩存

        cd kafka/config服務器

        vi server.propertiesapp

        server.properties 配置說明(僅對須要留意的說明)工具

broker.id=0  // 這個ID是惟一標示,須惟一
port=9092    // 訪問端口,默認爲 9092
host.name=kafka-server1    // 多塊網卡時,需注意。
num.io.threads=10     // disk I/O 線程數,掛多塊盤的時候,應大於硬盤數
log.dirs=/home/kafka/data/kafka-logs     // 存放kafka topic數據的地址,很重要,別配錯
log.retention.hours=168     // 數據緩存週期,默認爲7天,硬盤不夠時能夠調小
zookeeper.connect=zk-server1:2181,zk-server2:2181,zk-server3:2181    // zookeeper集羣鏈接

PS:

    scp -r kafka 至其他機器

    其他機器修改 broker.id 和 host.name

  • 啓動過程:

1. 啓動 zookeeper: ./zkServer.sh start

2. 啓動 kafka: bin/kafka-server-start.sh /config/server.properties  通用啓動腳本

  • 監控安裝:

        kafka監控選用Yahoo開源的 kafka-manager,功能比較齊全。

        1. 同時管理多個不一樣的集羣;

        2. 很容易地檢查集羣的狀態(topics, brokers, 副本的分佈, 分區的分佈);

        3. 選擇副本;

        4. 產生分區分配(Generate partition assignments)基於集羣的當前狀態;

        5. 從新分配分區;

        6. 監控進出流量,條數等信息(topics,brokers)。

        7. 支持集羣化部署

        項目信息https://github.com/yahoo/kafka-manager
        kafka-manager沒有權限管理功能,因此請操做請慎重。 

        安裝sbt

        sbt是scala的打包構建工具。
        安裝參考:http://www.scala-sbt.org/download.html

        下載編譯

        編譯,生成發佈包:

 git clone https://github.com/yahoo/kafka-manager
 cd kafka-manager
 sbt clean dist

        sbt clean dist會很是慢,期間遇到個錯誤,下載失敗collections.jar,能夠手工下載放在kafka-manager目錄下。
        生成的zip文件會在kafka-manager/target/universal 下面。生成的包只須要java環境就能夠運行了,在部署的機器上不須要安裝sbt。

        部署

        在服務器上解壓 生成的zip文件。

 unzip kafka-manager-1.2.4.zip

         修改conf/application.conf,把kafka-manager.zkhosts改成本身的zookeeper服務器地址,如:

 kafka-manager.zkhosts="localhost:2181"

        kafka-manager.zkhosts原配置裏重複了一個,注掉便可啓動

 bin/kafka-manager -Dconfig.file=conf/application.conf -Dhttp.port=9701

        http.port爲web控制訪問接口,默認爲9000,須要修改爲其餘的端口。http.port 配置在application.conf裏不起做用,見https://github.com/yahoo/kafka-manager/issues/16

      開啓JMX

        功能:統計Kafka topic進出流量 

        開啓方法
        1. 修改bin/kafka-server-start.sh,添加JMX_PORT參數,添加後樣子以下(使用了9703端口,可改)

 if [ "x$KAFKA_HEAP_OPTS" = "x" ]; then
     export KAFKA_HEAP_OPTS="-Xmx1G -Xms1G"
     export JMX_PORT="9703"
 fi

        2. 登錄Kafka-manager UI

 點擊Add Cluster,配置Kafka集羣信息,勾選 __Enable JMX Polling__,點Save便可
相關文章
相關標籤/搜索