1. 程式人生 > >docker簡易搭建kafka

docker簡易搭建kafka

docker簡易搭建kafka


寫在前面:在我們大量使用分散式資料庫、分散式計算叢集的時候,是否會遇到這樣的一些問題:想分析一下使用者行為,一遍我能設計出更好的廣告位,相對使用者的搜尋關鍵字盡心統計,分析出前衛的流行趨勢,有些資料存資料庫浪費,直接存硬碟操作效率又低。kafka在這樣的場景下就是個不錯的選擇。

第一步 搭建zookeeper環境

在centos中,拉取zookeeper映象,以及建立zookeeper容器:

docker pull zookeeper
docker run -d -v /home/soft/zookeeperhost/zookeeperDataDir:/data -v /home/soft/zookeeperhost/zookeeperDataLogDir:/datalog  -e
ZOO_MY_ID=1 -e ZOO_SERVERS='server.1=192.168.9.129:2888:3888'--net=host --privileged zookeeper

注:192.168.9.129讀者請自行改為本機ip,此文采用的單例,而非叢集,如需叢集 讀者請自行建立.192.168.9.129

第二步 建立kafka環境

在centos中,建立kafka容器:

docker run -d --name kafka --publish 9092:9092 --link zookeeper --env KAFKA_ZOOKEEPER_CONNECT=zookeeper:2181
--env KAFKA_ADVERTISED_HOST_NAME=localhost --env KAFKA_ADVERTISED_PORT=9092 --volume /etc/localtime:/etc/localtime wurstmeister/kafka

第三步 驗證kafka是否正確安裝

進入到kafka容器中 並建立topic 生產者,執行如下命令:

docker exec -it kafka bash
./kafka-topics.sh --create --zookeeper zookeeper:2181 --replication-factor 1 --partitions 8
--topic test ./kafka-console-producer.sh --broker-list localhost:9092 --topic test

執行上訴命令後,另起一個標籤頁,執行如下命令 建立kafka消費者消費訊息:

docker exec -it kafka bash
./kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic test --from-beginning

執行完上訴命令後,在生產者視窗中 輸入任意內容回車,即可在消費者的視窗檢視到訊息

附錄:
檢視訊息主題列表:

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

檢視指定topic資訊:

./kafka-topics.sh --describe --zookeeper zookeeper:2181 --topic test