kafka 集群--3个broker 3个zookeeper建立实战

准备工做:html

1. 准备3台机器,IP地址分别为:192.168.0.10,192.168.0.11,192.168.0.12apache

2. 下载kafka稳定版本,个人版本为:kafka_2.9.2-0.8.1.1.tgz ubuntu

3. 分别解压放入到想安装的目录下,个人目录为:/home/www 解压命令为:服务器

tar -xzf kafka_2.9.2-0.8.1.1.tgz

搭建zookeeper集群ssh

  1. 进入解压后的目录/home/www/kafka_2.9.2-0.8.1.1async

  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文件,命令以下:ui

echo 1 >myid

注意:这个id是zookeeper的主机标示,每一个主机id不一样第二台是2 第三台是3。spa

逐次启动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

完结。

相关文章
相关标签/搜索