1. 程式人生 > >Kafka之單點部署

Kafka之單點部署

一、下載安裝包

我們這裡下載的是kafka_2.12-2.0.0.tgz

二、解壓到/opt/kafka目錄下

三、修改配置檔案

zookeeper.propertoes檔案(先手動建立zookeeper目錄)

dataDir=/opt/kafka/kafka_2.12-2.0.0/zookeeper

 server.propertis檔案(先手動建立logs目錄)

log.dirs=/opt/kafka/kafka_2.12-2.0.0/logs
listeners=PLAINTEXT://192.168.37.137:9092

zookeeper.connect=192.168.37.137:2181

produce.properties

bootstrap.servers=192.168.37.137:9092

consumer.properties

bootstrap.servers=192.138.37.137:9092

四、啟動

進入/opt/kafka/kafka_2.12-2.0.0/bin目錄下

①先啟動zookeeper

./zookeeper-server-start.sh -daemon ../config/zookeeper.properties

 執行lsof命令,驗證zookeeper已經啟動,預設佔用2181埠

lsof -i:2181

COMMAND  PID USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
java    6579 root  100u  IPv6  74214      0t0  TCP *:eforward (LISTEN)

②啟動kafka broker

./kafka-server-start.sh -daemon ../config/server.properties

執行lsof命令,驗證kafka broker已經啟動,預設佔用9092埠

lsof -i:9092

COMMAND  PID USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
java    7053 root  105u  IPv6  74939      0t0  TCP *:XmlIpcRegSvc (LISTEN)
java    7053 root  121u  IPv6  74945      0t0  TCP localhost:55716->localhost:XmlIpcRegSvc (ESTABLISHED)
java    7053 root  122u  IPv6  74946      0t0  TCP localhost:XmlIpcRegSvc->localhost:55716 (ESTABLISHED)

五、使用

建立topic

sh kafka-topics.sh --create --zookeeper 192.168.37.137:2181 --replication-factor 1 --partitions 1 --topic test

驗證toipic是否建立成功

 sh kafka-topics.sh --list --zookeeper 192.168.37.137:2181
 test

單機連通性測試:

①啟動生產者

sh kafka-console-producer.sh --broker-list 192.168.37.137:9092 --topic test

其中,broker-list和topic這兩個引數是必須的,broker-list指定要連線的broker,格式為node_address:port。topic是必須的,因為需要傳送訊息給訂閱了該topic的consumer group。

②啟動消費者

 sh kafka-console-consumer.sh --bootstrap-server 192.168.37.137:9092 --topic test --from-beginning

在producer端輸入字串並回車,consumer端顯示則表示成功。

③KafkaOffsetMonitor控制檯

下載KafkaOffsetMonitor-assembly-0.4.6-SNAPSHOT.jar

java -cp KafkaOffsetMonitor-assembly-0.4.6-SNAPSHOT.jar com.quantifind.kafka.offsetapp.OffsetGetterWeb --offsetStorage kafka --kafkaBrokers 192.168.37.137:9092 --zk 192.168.37.137:2181 --port 8088 --refresh 10.seconds  --retain 2.days  &

訪問

http://192.168.37.137:8088

能看到監控資訊

④關閉

停止kafka broker

sh kafka-server-stop.sh

停止zookeeper

sh zookeeper-server-stop.sh