公司很多産品有在使用Kafka進行資料的處理,因為各種原因,沒有在産品中有用到這快,偶爾,自己去研究下,做個文檔進行記錄:
本文是在一個機器上進行的kafka叢集,分為三個節點,并且測試peoducer、cunsumer在正常和非正常情況下的測試:
1. 下載下傳和安裝Kafka
> mkdir kafka
> cd kafka
> wget https://archive.apache.org/dist/kafka/0.8.0/kafka_2.8.0-0.8.0.tar.gz
> tar -xzvf kafka_2.8.0-0.8.0.tar.gz
Ok,Kafka安裝完成,比較簡單。
2. 啟動單節點的zookeeper
> $ nohup bin/zookeeper-server-start.sh config/zookeeper.properties &
3. 準備啟動一個3個broker節點的kafka叢集,是以做如下配置
>cp config/server.properties config/server-1.properties
>cp config/server.properties config/server-2.properties
修改下面的如下參數:
server-properties 修改:
config/server-properties:
broker.id=
port=
log.dir=/tmp/kafka-logs-
server-properties 修改:
config/server-properties:
broker.id=
port=
log.dir=/tmp/kafka-logs-
順便說明下:
broker.id: broker節點的唯一辨別
port: broker節點使用端口号
log.dir: 消息目錄位置
4. 啟動3個broker 節點
>JMX_PORT=9997 bin/kafka-server-start.sh config/server-1.properties &
>JMX_PORT=9998 bin/kafka-server-start.sh config/server-2.properties &
>JMX_PORT=9999 bin/kafka-server-start.sh config/server.properties &
5. 建立topic并檢視
bin/kafka-create-topic.sh –zookeeper localhost:2181 –replica 3 –partition 1 –topic 3test
bin/kafka-list-topic.sh –zookeeper localhost:2181
6.啟動consumer & producer,并在producer啟動後的console輸入一些資訊
bin/kafka-console-consumer.sh –zookeeper localhost:2181 –from-beginning –topic 3test
messageA
messageB
messageC
>bin/kafka-console-producer.sh --broker-list localhost:9092,localhost:9093,localhost:9094 --topic 3test
>messageA
>messageB
>messageC
驗證下,prodocer發送的資料在consumer中是不是能正常消費。
Ok,配置基本結束,你可以嘗試在幹掉(pkill -9 -f server-1.properties),然後可以繼續消費和生産,看看是不是能正常。
順便說下,檢視topic:
bin/kafka-list-topic.sh –zookeeper localhost:2181
結束!QQ:154833488
如下是官網的介紹:
http://kafka.apache.org/07/quickstart.html