kafka 集群--3個broker 3個zookeeper創建實戰


准備工作:

1. 准備3台機器,IP地址分別為:192.168.0.10,192.168.0.11,192.168.0.12

2. 下載kafka穩定版本,我的版本為:kafka_2.9.2-0.8.1.1.tgz 

3. 分別解壓放入到想安裝的目錄下,我的目錄為:/home/www 解壓命令為:

tar -xzf kafka_2.9.2-0.8.1.1.tgz

搭建zookeeper集群

  1. 進入解壓后的目錄/home/www/kafka_2.9.2-0.8.1.1

  2. 進入config目錄下,修改zookeeper.properties文件

tickTime=2000
dataDir=/data/zookeeper/
clientPort=2181
initLimit=5
syncLimit=2
server.1=192.168.0.10:2888:3888
server.2=192.168.0.11:2888:3888
server.3=192.168.0.12:2888:3888

在dataDir目錄/data/zookeeper/下寫一個myid文件,命令如下:

echo 1 >myid

注意:這個id是zookeeper的主機標示,每個主機id不同第二台是2 第三台是3。

逐次啟動3台機器的zookeeper 構成一個集群:

> bin/zookeeper-server-start.sh config/zookeeper.properties &

注意:使用& 會打印出啟動日志,但如果使用secure ssh直接退出,有可能會讓zookeeper退出,建議使用命令檢查一下:

> netstat -apn | grep 2181

我啟動的順序是

192.168.0.10
192.168.0.11
192.168.0.12

由於ZooKeeper集群啟動的時候,每個結點都試圖去連接集群中的其它結點,先啟動的肯定連不上后面還沒啟動的,所以打印出來的部分的異常是可以忽略的。集群在選出一個Leader后,最后穩定了。其他結點可能也出現類似問題,屬於正常。

至此,zookeeper集群搭建完成

 

搭建kafka broker集群

進入config目錄,修改server.properties

broker.id=0
port=9092
host.name=192.168.0.10zookeeper.connect=192.168.0.10:2181,192.168.0.11:2181,192.168.0.12:2181
log.dirs=/home/www/kafka-logs

不同集群broker.id 和host.name 不一樣,根據實際情況配置。

修改生產者配置

 broker.list=192.168.0.10:9092,192.168.0.11:9092,192.168.0.12:9092
 producer.type=async

修改消費者配置:

zookeeper.connect=192.168.0.10:2181,192.168.0.11:2181,192.168.0.12:2181

啟動每台服務器的kafka:

> bin/kafka-server-start.sh config/server.properties &

測試集群

創建一個topic

> bin/kafka-topics.sh --create --zookeeper 192.168.0.10:2181 --replication-factor 3 --partitions 1 --topic test-replicated-topic

查看創建的topic

> bin/kafka-topics.sh --describe --zookeeper 192.168.0.10:2181 --topic my-replicated-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

查看集群情況:

>bin/kafka-topics.sh --describe --zookeeper 192.168.0.11:2181 --topic test-replicated-topic
>bin/kafka-topics.sh --describe --zookeeper 192.168.0.10:2181 --topic test-replicated-topic

發現都能看到test-replicated-topic。

 

注意:使用一台機器,創建3個zookeeper不同端口,3個kafka 不同端口沒有成功,和zookeeper集群的端口有關吧,以后會研究一下。

參考資料:

http://kafka.apache.org/documentation.html#quickstart

http://www.jonzobrist.com/2012/04/17/install-apache-kafka-and-zookeeper-on-ubuntu-10-04/

http://www.open-open.com/lib/view/open1387889827593.html

完結。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM