一. 準(zhǔn)備工作:
? ? 1. 準(zhǔn)備3臺(tái)機(jī)器,IP地址分別為:
? ? ? ? ? 192.168.3.230(master)
? ? ? ? ? 192.168.3.233(slave1)
? ? ? ? ? 192.168.3.234(slave2)
? ? 2. 下載kafka穩(wěn)定版本,我的版本為: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. 分別修改三臺(tái)機(jī)器的hosts,加入
?????192.168.3.230 master
?????192.168.3.233 slave1
?????192.168.3.234 slave2
? ? 2. 進(jìn)入解壓后的目錄/home/rasa/kafka_2.11-0.9.0.0
? ? 2. 進(jìn)入config目錄下,修改zookeeper.properties文件(所有機(jī)器相同)
??????? tickTime?=2000
??????? dataDir?=/data/zookeeper/
??????? clientPort?=2181
??????? initLimit?=5
??????? syncLimit?=2
??????? server.1?=master:2888:3888
??????? server.2?=slave1:2888:3888
??????? server.3?=slave2:2888:3888
? ? 3.在dataDir目錄/data/zookeeper/下寫(xiě)一個(gè)myid文件持偏,命令如下:
? ? ? ? echo 1 >myid
? ? ? ? 注意:這個(gè)id是zookeeper的主機(jī)標(biāo)示蹂喻,每個(gè)主機(jī)id不同第二臺(tái)是2 第三臺(tái)是3。
? ? 4.逐次啟動(dòng)3臺(tái)機(jī)器的zookeeper 構(gòu)成一個(gè)集群:
? ? ? ? > bin/zookeeper-server-start.sh config/zookeeper.properties &
? ? ? ? 由于ZooKeeper集群?jiǎn)?dòng)的時(shí)候开泽,每個(gè)結(jié)點(diǎn)都試圖去連接集群中的其它結(jié)點(diǎn)牡拇,先啟動(dòng)的肯定連不上后面還沒(méi)啟動(dòng)的,所以打印出來(lái)的部分的異常是可以忽略的穆律。集群在選出一個(gè)Leader后惠呼,最后穩(wěn)定了。其他結(jié)點(diǎn)可能也出現(xiàn)類似問(wèn)題峦耘,屬于正常剔蹋。
三、搭建kafka集群
? ? 1.進(jìn)入config目錄辅髓,修改server.properties(逐個(gè)機(jī)器修改)
??????? broker.id?=1(其他機(jī)器為?2/3)
??????? port?=9092
??????? zookeeper.connect=master:2181,slave1:2181,slave2:2181
??????? log.dirs?=/home/rasa/kafka-logs
??????? host.name?=192.168.3.230
??????? advertised.host.name?=192.168.3.230
? ? 2.啟動(dòng)每臺(tái)服務(wù)器的kafka:
? ? ? ? > bin/kafka-server-start.sh config/server.properties &
四泣崩、測(cè)試集群
? ? 1.創(chuàng)建一個(gè)topic
? ? ? ? > bin/kafka-topics.sh --create --zookeeper 192.168.3.230:2181 --replication-factor 3 --partitions 1
? ? ? ? ? ? --topic test-topic
? ? 2.查看創(chuàng)建的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
? ? ? ? 發(fā)現(xiàn)都能看到test-topic。
? ? ?5.生產(chǎn)消息
? ??????? > bin/kafka-console-producer.sh --broker-list 192.168.3.234:9092 -topic test-topic
? ? ?6.消費(fèi)消息
? ? ? ? ? > bin/kafka-console-consumer.sh --zookeeper 192.168.3.234:2181 --from-beginning --topic test-topic