Kafka安裝


1.zookeeper在Kafka中的作用

Kafka實用zookeeper保存集群的元數據和消費者信息。Kafka發行版了自帶Zookeeper,可以直接從腳本安裝,不過安裝一個完整版的Zookeeper也很easy。

2.安裝zookeeper

下載  zookeeper-3.4.13.tar.gz

安裝

tar -zxvf zookeeper-3.4.13.tar.gz 
mv zookeeper-3.4.13 /usr/local/zookeeper
mkdir -p /var/lib/zookeeper
cd /usr/local/zookeeper/conf
cp zoo_sample.cfg  zoo.cfg 

sudo /usr/local/zookeeper/bin/zkServer.sh start

驗證

$telnet localhost 2181
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
srvr
Zookeeper version: 3.4.13-2d71af4dbe22557fda74f9a9b4309b15a7487f03, built on 06/29/2018 04:05 GMT
Latency min/avg/max: 0/0/0
Received: 1
Sent: 0
Connections: 1
Outstanding: 0
Zxid: 0x0
Mode: standalone
Node count: 4
Connection closed by foreign host.  

3.安裝Kafka Broker

下載  kafka_2.12-2.1.1.tgz 

安裝

tar -zxvf kafka_2.12-2.1.1.tgz  
 sudo mv kafka_2.12-2.1.1 /usr/local/kafka
 mkdir /tmp/kafka-logs
 /usr/local/kafka/bin/kafka-server-start.sh -daemon /usr/local/kafka/config/server.properties 

測試

發消息

$/usr/local/kafka/bin/kafka-console-producer.sh --broker-list localhost:9092 --topic test
>hello word
>

收消息

$/usr/local/kafka/bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic test --from-beginning
Test Message 1
Test Message 2
u
123
abc
hello word  

4.配置說明

位置:kafka/config/server.properties里面的參數

  • broker.id:每個broker都有一個唯一的標識符,默認值是0,在整個Kafka集群里是唯一的。值可以任意選定,為了便於維護可以配置為機器名
  • zookeeper.connect:用於配置保存broker元數據的Zookeeper地址,格式:hostname:port/path(如localhost:2181),多個用逗號隔開
  • logs.dirs: Kafka把所有的消息都保存在磁盤上,存放這些認知片段的目錄通過logs.dir指定,它是用逗號隔開的本地文件系統路徑(默認配置是/tmp/kafka-logs

5.監控工具:Kafka Manager

下載安裝

執行:./sbt clean dist

執行完后生成:kafka-manager-1.3.3.22.zip  (位置:kafka-manager/target/universal/)

解壓

unzip kafka-manager-1.3.0.8.zip -d /usr/local
cd /usr/local/kafka-manager-1.3.0.8

修改配置 conf/application.properties

# 如果zk是集群,這里填寫多個zk地址
kafka-manager.zkhosts="localhost:2181" 

啟動服務

sudo nohup bin/kafka-manager &

默認端口9000,如果修改端口

bin/kafka-manager -Dconfig.file=/path/to/application.conf -Dhttp.port=8080

啟動驗證

訪問:ip:port

創建一個cluster

Cluster Zookeeper Hosts地址配置為Zookeeper地址,和配置文件中的地址保持一致,全部打鈎,保存。

查看topic詳情和消費信息: 

6.常見問題解決

6.1 Kafka代碼連接異常TimeoutException

此異常的出現的時候,多半是網絡問題,檢查/etc/hosts中的主機ip映射的hostname與配置的listeners中hostname是否保持一致,如下圖

修改腳本:config/server.properties

6.2 kafka服務必需要開啟JMX,否則在下一步啟動kafka-manager時會出現: 
java.lang.IllegalArgumentException: requirement failed: No jmx port but jmx polling enabled! 

解決:在bin/kafka-server-start.sh前面加上

export JMX_PORT=9999

6.3 WARN [Producer clientId=console-producer] Connection to node -1 could not be established. Broker may not be available

bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic test --from-beginning

如果彈出需將上文中localhost改為隊列配置的地址

 

 


免責聲明!

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



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