docker簡易搭建kafka
阿新 • • 發佈:2018-11-11
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