Kafka是一種高吞吐量的分佈式發佈訂閱消息系統,它能夠處理消費者規模的網站中的全部動做流數據。 這種動做(網頁瀏覽,搜索和其餘用戶的行動)是在現代網絡上的許多社會功能的一個關鍵因素。 這些數據一般是因爲吞吐量的要求而經過處理日誌和日誌聚合來解決。 對於像Hadoop的同樣的日誌數據和離線分析系統,但又要求實時處理的限制,這是一個可行的解決方案。Kafka的目的是經過Hadoop的並行加載機制來統一線上和離線的消息處理,也是爲了經過集羣來提供實時的消費。java
同zk同樣在192.168.1.11,192.168.1.12,192.168.1.13三臺機器上安裝
download and installapache
wget http://mirrors.hust.edu.cn/ap...
mv kafka_2.12-0.11.0.1.tgz /usr/local
tar -xzf kafka_2.12-0.11.0.1.tgz
cd kafka_2.12-0.11.0.1.tgz服務器
分發到另外2臺機器網絡
scp -r /kafka_2.12-0.11.0.1 root@192.168.1.12:/usr/local
scp -r /kafka_2.12-0.11.0.1 root@192.168.1.12:/usr/local數據結構
分別修改server.properties中的broker.id的參數,保證3個節點的值不重複
listeners 中的監聽ip改爲本機ip
而後分別啓動kafka服務分佈式
nohup /bin/kafka-server-start.sh config/server.properties > /dev/null &oop
bin/kafka-topics.sh --create --zookeeper 192.168.1.11:2181,192.168.1.12:2181,192.168.1.13:2181 --replication-factor 3 --partitions 5 --topic kafka-distrub-test性能
在192.168.1.11上查看該topic的信息網站
bin/kafka-topics.sh --describe --zookeeper 192.168.1.11:2181,192.168.1.12:2181,192.168.1.13:2181 --topic kafka-distrub-testui
返回結果以下則表示kafka集羣安裝成功
若是將broker.id=2的機器上的kafka服務關閉,集羣會自動從新選舉一個broker做爲leader。全部kafka的動態擴容是很是方便的。
由於我寫了個用java程序模擬consumer和producer,全部這裏就不對這兩個命令作介紹了,demo地址: