消息的發布稱作producer,消息的訂閱稱作consumer,中間的存儲陣列稱作broker。kafka軟件broker端不維護數據的消費狀態,提升了性能,直接使用磁盤進行存儲,線性讀寫,速度快:避免了數據在JVM內存和係統內存之間的複製,減少耗性能的創建對象和垃圾回收。kafka安裝配置方法小編馬上呈現!
環境配置
操作係統:Cent OS 7
Kafka版本:0.9.0.0
Kafka官網下載:請點擊
JDK版本:1.7.0_51
SSH Secure Shell版本:XShell 5
Kafka目錄介紹
/bin 操作kafka的可執行腳本,還包含windows下腳本
/config 配置文件所在目錄
/libs 依賴庫目錄
/logs 日誌數據目錄,目錄kafka把server端日誌分為5種類型,分為:server,request,state,log-cleaner,controller
配置
配置zookeeper
請參考zookeeper
進入kafka安裝工程根目錄編輯config/server.properties
kafka最為重要三個配置依次為:broker.id、log.dir、zookeeper.connect,kafka server端config/server.properties參數說明和解釋
啟動Kafka
啟動
進入kafka目錄,敲入命令 bin/kafka-server-start.sh config/server.properties &
檢測2181與9092端口
說明:
Kafka的進程ID為28094,占用端口為9092
QuorumPeerMain為對應的zookeeper實例,進程ID為19787,在2181端口監聽
單機連通性測試
啟動2個XSHELL客戶端,一個用於生產者發送消息,一個用於消費者接受消息。
運行producer,隨機敲入幾個字符,相當於把這個敲入的字符消息發送給隊列。
bin/kafka-console-producer.sh --broker-list 192.168.1.181:9092 --topic test
說明:早版本的Kafka,–broker-list 192.168.1.181:9092需改為–zookeeper 192.168.1.181:2181
運行consumer,可以看到剛才發送的消息列表。
bin/kafka-console-consumer.sh --zookeeper 192.168.1.181:2181 --topic test --from-beginning
注意:
producer,指定的Socket(192.168.1.181+9092),說明生產者的消息要發往kafka,也即是broker
consumer, 指定的Socket(192.168.1.181+2181),說明消費者的消息來自zookeeper(協調轉發)
上麵的隻是一個單個的broker,下麵我們來實驗一個多broker的集群。