1. 程式人生 > >centos 7中docker 部署zookeeper和kafka(單節點適合開發環境)

centos 7中docker 部署zookeeper和kafka(單節點適合開發環境)

網上看了一些教程,發現多數有坑,現在自己寫一篇,本人親測可用
各個軟體版本:

下載zookeeper和kafka映象

docker pull wurstmeister/zookeeper
docker pull wurstmeister/kafka

分別啟動zookeeper和kafka

docker run -p 2181:2181 -v $PWD/data:/data  -d zookeeper:latest
docker run -d --name kafka --publish 9092:9092 --link zookeeper --env KAFKA_ZOOKEEPER_CONNECT=
zookeeper:2181 --env KAFKA_ADVERTISED_HOST_NAME=192.168.0.157 --env KAFKA_ADVERTISED_PORT=9092 --volume /etc/localtime:/etc/localtime wurstmeister/kafka:latest

克隆一個會話(就是再開一個ssh遠端命令列介面)

docker ps

在兩個會話中執行找到kafka的Container ID,進入容器內部

docker exec -it ${CONTAINER ID} /bin/bash
cd opt
cd kafka_2.11-2.0.0

(下面內容需要在兩個會話中分別執行)


啟動訊息生產者

bin/kafka-console-producer.sh --broker-list localhost:9092 --topic test3

啟動訊息消費者

bin/kafka-console-consumer.sh --zookeeper zookeeper:2181 --topic test3 --from-beginning 

發現報錯

zookeeper is not a recognized option

查了好久發現
這個命令已經過時
0.90版本之後啟動消費者的方法

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

在producer中輸入內容aaa
發現consumer能夠收到