一、什麼是kafka?
kafka是LinkedIn開發并開源的一個分布式MQ系統,現在是Apache的一個孵化項目。在它的首頁描述kafka為一個高吞吐量的分布式(能将消息分散到不同的節點上)MQ。Kafka僅僅由7000行Scala編寫,據了解,Kafka每秒可以生産約25萬消息(50 MB),每秒處理55萬消息(110 MB)
二、kafka的官方網站在哪裡?
http://kafka.apache.org/
三、在哪裡下載下傳?需要哪些元件的支援?
kafka2.9.2在下面的位址可以下載下傳:
https://www.apache.org/dyn/closer.cgi?path=/kafka/0.8.1.1/kafka_2.9.2-0.8.1.1.tgz
四、如何安裝?
1、本機環境描述
3台主機:作業系統為CentOS6.4,zookeeper版本為3.4.3,jdk版本為1.6(可參考前面的文章)
ip和hostname分别為192.168.41.100/master,192.168.41.101/slave1,192.168.41.102/master
2.解壓kafka_2.9.2-0.8.1.1.tgz,本文中解壓到/home/hadoop目錄下
3、修改config/server.properties配置檔案。修改部分如下:
其中
broker.id為整數,建議根據ip區分,這裡我是使用zookeeper中的id來設定
host.name和advertised.host.name為本機的hostname
zookeeper.connect為連接配接的機器和端口
修改後如下:

4.針對bin/kafka-run-class.sh移除相關參數:
移除代碼為
不然會出現
5.把kafka檔案夾拷貝到其他節點,并修改server.properties相關内容
6.啟動zookeeper
啟動後可以用以下指令在每台機器上檢視狀态:
7.啟動各個節點的kafka
部分截圖:
四、簡單安裝
1.在master上建立一個test主題
指令如下:
2.在master上檢視test主題
如圖:
3)在slave1上發送消息至kafka(slave1模拟producer),發送消息“hello”,在slave2上開啟一個消費者(slave2模拟consumer),可以看到剛才發送的消息
slave1主機上的指令為:
出現如下界面後,鍵入hello
鍵入hello後:
slave2主機上的指令為:
結果如下: