文章出處
文章列表
前提:
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的窗口里,輸入些內容,順利的話,消息接收窗口里,就能收到消息。
參考文章:
文章列表
全站熱搜