參考:
細細品味Kafka_Kafka簡介及安裝_V1.3
http://www.docin.com/p-1291437890.html
一. 准備工作:
1. 准備3台機器,IP地址分別為:192.168.3.230(233,234)
2. 下載kafka穩定版本,我的版本為:Scala 2.11 - kafka_2.11-0.9.0.0.tgz
http://kafka.apache.org/downloads.html
3. 分別解壓放入到想安裝的目錄下,我的目錄為:/home/rasa 解壓命令為:
tar -xzf *.tgz
二、搭建zookeeper集群
1.進入解壓后的目錄/home/rasa/kafka_2.11-0.9.0.0
2. 進入config目錄下,修改zookeeper.properties文件(所有機器相同)
tickTime
=
2000
dataDir
=
/data/zookeeper/
clientPort
=
2181
initLimit
=
5
syncLimit
=
2
server.1
=
192.168.3.230:2888:3888
server.2
=
192.168.3.233:2888:3888
server.3
=
192.168.3.234:2888:3888
3.在dataDir目錄/data/zookeeper/下寫一個myid文件,命令如下:
echo 1 >myid
注意:這個id是zookeeper的主機標示,每個主機id不同第二台是2 第三台是3。
4.逐次啟動3台機器的zookeeper 構成一個集群:
> bin/zookeeper-server-start.sh config/zookeeper.properties &
由於ZooKeeper集群啟動的時候,每個結點都試圖去連接集群中的其它結點,先啟動的肯定連不上后面還沒啟動的,所以打印出來的部分的異常是可以忽略的。集群在選出一個Leader后,最后穩定了。其他結點可能也出現類似問題,屬於正常。
三、搭建kafka集群
1.進入config目錄,修改server.properties(逐個機器修改)
broker.id
=
1
(其他機器為
2/3
)
port
=
9092
zookeeper.connect
=
192.168.3.230:2181,192.168.3.233:2181,192.168.3.234:2181
log.dirs
=
/home/rasa/kafka-logs
host.name
=
192.168.3.230
advertised.host.name
=
192.168.3.230
2.啟動每台服務器的kafka:
> bin/kafka-server-start.sh config/server.properties &
四、測試集群
1.創建一個topic
> bin/kafka-topics.sh --create --zookeeper 192.168.3.230:2181 --replication-factor 3 --partitions 1
--topic test-topic
2.查看創建的topic
> bin/kafka-topics.sh --describe --zookeeper 192.168.3.230:2181 --topic test-topic
Topic:test-replicated-topic PartitionCount:1 ReplicationFactor:3 Configs:
Topic: test-replicated-topic Partition: 0 Leader: 1 Replicas: 1,2,0 Isr: 1,2,0
3.查看topic列表
> bin/kafka-topics.sh --list --zookeeper 192.168.3.230 :2181
test
test-topic
查看列表及具體信息
> bin/kafka-topics.sh --zookeeper localhost --describe
4.查看集群情況:
>bin/kafka-topics.sh --describe --zookeeper 192.168.3.233:2181 --topic test-topic
>bin/kafka-topics.sh --describe --zookeeper 192.168.3.234:2181 --topic test-topic
發現都能看到test-topic。
5.生產消息
> bin/kafka-console-producer.sh --broker-list 192.168.3.234:9092 -topic test-topic
6.消費消息
> bin/kafka-console-consumer.sh --zookeeper 192.168.3.234:2181 --from-beginning --topic test-topic