Kafak 集群部署

2021年09月15日 阅读数:1
这篇文章主要向大家介绍Kafak 集群部署,主要内容包括基础应用、实用技巧、原理机制等方面,希望对大家有所帮助。

背景:
1.服务器:linux   IP地址分别为:10.243.1.17,10.243.1.1810.243.1.19
2.kafka版本:kafka_2.10-0.8.2.2
3.安装路径:/usr/local/
linux


搭建zookeeper集群服务器

  1. 进入解压后的目录/usr/local/kafka_2.10-0.8.2.2ssh

  2. 进入config目录下,修改zookeeper.properties文件async

tickTime=2000 dataDir=/data/zookeeper/ clientPort=2181  server.1=10.243.1.17:2888:3888 server.2=10.243.1.17:2888:3888 server.3=10.243.1.17:2888:3888
 
2888端口号是zookeeper服务之间通讯的端口,而3888是zookeeper与其余应用程序通讯的端口 

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

echo 1 >myid

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

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

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

注意:使用& 会打印出启动日志,但若是使用secure ssh直接退出,有可能会让zookeeper退出,建议使用命令检查一下:日志

> netstat -apn | grep 2181

我启动的顺序是orm

10.243.1.17
10.243.1.18
10.243.1.19

因为ZooKeeper集群启动的时候,每一个结点都试图去链接集群中的其它结点,先启动的确定连不上后面还没启动的,因此打印出来的部分的异常是能够忽略的。集群在选出一个Leader后,最后稳定了。其余结点可能也出现相似问题,属于正常。server

至此,zookeeper集群搭建完成

 

搭建kafka broker集群

进入config目录,修改server.properties

broker.id=0 port=9092 host.name=10.243.1.17 zookeeper.contact=10.243.1.17:2181,10.243.1.18:2181,10.243.1.19:2181 

不一样集群broker.id 和host.name 不同,根据实际状况配置。

修改生产者配置

 broker.list=10.243.1.17:9092,10.243.1.18:9092,10.243.1.19:9092 producer.type=async

修改消费者配置:

zookeeper.contact=10.243.1.17:2181,10.243.1.18:2181,10.243.1.19:2181

启动每台服务器的kafka:

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

测试集群

建立一个topic

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

查看建立的topic

> bin/kafka-topics.sh --describe --zookeeper 10.243.1.17:2181 --topic my-replicated-topic Topic:test	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 10.243.1.18:2181 --topic test
>bin/kafka-topics.sh --describe --zookeeper 10.243.1.19:2181 --topic test