文章出處

前提:
kafka集群依賴于zk集群,沒有zk集群環境的請先參考 http://www.cnblogs.com/yjmyzz/p/4587663.html .

假設搭建3個節點的kafka集群,下面是步驟:

 一、下載

http://kafka.apache.org/downloads ,如果只是安裝,直接down kafka_2.12-0.11.0.0.tgz 即可。

二、解壓

假設$KAFKA_HOME為解壓后的根目錄,將tag包解壓到該目錄下(3臺機器上都解壓)

三、修改$KAFKA_HOME/config/service.properties

內容參考下面:

 1 broker.id=1 #類似zk的myid一樣,每個節點上的id都要唯一
 2 host.name=192.168.29.60 #每個節點對應的機器IP
 3 num.network.threads=3
 4 num.io.threads=8
 5 socket.send.buffer.bytes=102400
 6 socket.receive.buffer.bytes=102400
 7 socket.request.max.bytes=104857600
 8 log.dirs=/data/application/kafka/data #日志保存目錄
 9 num.partitions=1
10 num.recovery.threads.per.data.dir=1
11 offsets.topic.replication.factor=1
12 transaction.state.log.replication.factor=1
13 transaction.state.log.min.isr=1
14 log.retention.hours=168
15 message.max.byte=5242880
16 default.replication.factor=2
17 replica.fetch.max.bytes=5242880
18 log.segment.bytes=1073741824
19 log.retention.check.interval.ms=300000
20 zookeeper.connect=192.168.29.11:2181,192.168.29.12:2181,192.168.29.13:2181 #zk集群的地址
21 zookeeper.connection.timeout.ms=6000
22 group.initial.rebalance.delay.ms=0

 

注:每臺機器上都要修改這個文件,而且broker.id,host.name這二個很關鍵,弄錯了將啟動失敗。

 

四、啟動

$KAFKA_HOME/bin/kafka-server-start.sh -daemon ../config/server.properties

(3臺節點都要啟動)

注:初次啟動,可不加用-daemon參數,方便直接在控制臺查看輸出,啟動成功后,可ctrl+C結束掉,再加-daemon后臺啟動。

五、驗證

5.1 創建topic

$KAFKA_HOME/bin/kafka-topics.sh --create --zookeeper 192.168.29.11:2181 --replication-factor 2 --partitions 1 --topic mytopic

5.2 測試消息發布

$KAFKA_HOME/bin/kafka-console-producer.sh --broker-list 192.168.29.60:9092 --topic mytopic

這個命令會進入一個>提示符的終端,直接輸入消息內容,回車就發出去了。

5.3 測試消息接收
保持5.2的窗口不要關,再加一個終端窗口

$KAFKA_HOME/bin/kafka-console-consumer.sh --zookeeper 192.168.29.11:2181 --topic mytopic --from-beginning

在剛才5.2的窗口里,輸入些內容,順利的話,消息接收窗口里,就能收到消息。

 

參考文章:

http://kafka.apache.org/documentation/


文章列表


不含病毒。www.avast.com
arrow
arrow
    全站熱搜
    創作者介紹
    創作者 大師兄 的頭像
    大師兄

    IT工程師數位筆記本

    大師兄 發表在 痞客邦 留言(0) 人氣()