kafka1:分布式部署

1.参考

kafka 集群--3个broker 3个zookeeper创建实战
细细品味Kafka_Kafka简介及安装_V1.3

2.准备工作

  • 准备3台机器,IP地址分别为:192.168.3.11(12,13)
  • 下载kafka稳定版本,我的版本为:Scala 2.11 - kafka_2.11-0.9.0.0.tgz
  • 分别解压放入到想安装的目录下,我的目录为:/home/rasa 解压命令为:
    tar -xzf *.tgz

3.搭建zookeeper集群

  • 进入解压后的目录/home/rasa/kafka_2.11-0.9.0.0
  • 进入config目录下,修改zookeeper.properties文件(所有机器相同)

tickTime =2000
dataDir =/data/zookeeper/
clientPort =2181
initLimit =5
syncLimit =2
server.1 =192.168.3.11:2888:3888
server.2 =192.168.3.12:2888:3888
server.3 =192.168.3.13:2888:3888

  • 在dataDir目录/data/zookeeper/下写一个myid文件,命令如下:

echo 1 >myid
注意:这个id是zookeeper的主机标示,每个主机id不同第二台是2 第三台是3。

  • 逐次启动3台机器的zookeeper 构成一个集群:

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

由于ZooKeeper集群启动的时候,每个结点都试图去连接集群中的其它结点,先启动的肯定连不上后面还没启动的,所以打印出来的部分的异常是可以忽略的。集群在选出一个Leader后,最后稳定了。其他结点可能也出现类似问题,属于正常。

4.搭建kafka集群

  • 进入config目录,修改server.properties(逐个机器修改)

broker.id =1(其他机器为 2/3)
port =9092
zookeeper.connect= 192.168.3.11:2181,192.168.3.12:2181,192.168.3.13:2181
log.dirs =/home/rasa/kafka-logs
host.name =192.168.3.11
advertised.host.name =192.168.3.11

  • 启动每台服务器的kafka:

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

5.测试集群

  • 创建一个topic

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

  • 查看创建的topic

bin/kafka-topics.sh --describe --zookeeper 192.168.3.11: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

  • 查看topic列表

bin/kafka-topics.sh --list --zookeeper 192.168.3.11 :2181
test
test-topic

  • 查看列表及具体信息

bin/kafka-topics.sh --zookeeper localhost --describe

  • 查看集群情况:

bin/kafka-topics.sh --describe --zookeeper 192.168.3.12:2181 --topic test-topic
bin/kafka-topics.sh --describe --zookeeper 192.168.3.13:2181 --topic test-topic

发现都能看到test-topic。

  • 生产消息

bin/kafka-console-producer.sh --broker-list 192.168.3.13:9092 -topic test-topic

  • 消费消息

bin/kafka-console-consumer.sh --zookeeper 192.168.3.13:2181 --from-beginning --topic test-topic

你可能感兴趣的:(kafka1:分布式部署)