快速搭建 Zookeeper+Kafka 高可用集群环境

1、概念和方案

本文只介绍快速的搭建方案,不啰嗦哈。搭建方案图,如下:

快速搭建 Zookeeper+Kafka 高可用集群环境_第1张图片

Zookeeper独立3台集群(根据项目情况扩展),一台为leader,其他为follower。

Kafka为多节点多broker的集群方案(根据项目情况扩展),不使用kafka自带的zookeeper。


2、部署准备

JDK http://www.oracle.com/technetwork/java/javase/downloads/index.html

Zookeeper https://www.apache.org/dyn/closer.cgi/zookeeper/

Kafka http://kafka.apache.org/downloads

由于ZK、Kakfa运行需要依赖JVM环境,需要先安装JDK(网上很多,不再描述)

另外,以上中间件统一安装/home目录,下面方案介绍中默认都是此目录。


3、集群部署

3.1 Zookeeper

1、解压软件包:

tar -xzvf  zookeeper-3.4.11.tar.gz
2、进入配置文件目录,cd zookeeper-3.4.11/conf,新建zoo.cfg。每台集群节点使用相同的配置。

3、建立zookeeper-data文件夹(与zk安装目录同级),并在此文件夹下新建文件myid(linux命令:touchmyid),内容为1。根据zoo.cfg中server.x=ip:port1:port2的x值,设置不同集群节点myidde值。如:192.168.0.71节点zookeeper的myid内容为1,192.168.0.72节点zookeeper的myid内容为2,192.168.0.73节点zookeeper的myid内容为3,保证集群内唯一即可。

快速搭建 Zookeeper+Kafka 高可用集群环境_第2张图片

4、启动Zookeeper服务,在每个节点的安装目录下执行命令:

./bin/zkServer.sh start


5、检查是否正常运行,在每个点的安装目录下执行命令:

./bin/zkServer.sh status


Error contactingservice?莫慌,由于其他节点还未启动,无法连接问题,将其他集群节点的服务全部启动。再查看:


其中1台为Mode:leader,2台为Mode:follower。

相关碰到的问题,可查看bin目录下zookeeper.out输出的日志,进一步排查。

以上,Zookeeper集群部署完毕。


3.2 Kafka

1、解压软件包

tar -xzvf  kafka_2.12-1.0.0.tgz

2、进入配置文件目录, cdkafka_2.12-1.0.0/config/,使用server. properties复制2文件:server1. properties、server2.properties。其中,broker.id在集群内保证唯一。

Server1.properties加入配置(删除已注释配置前#符号):

broker.id=1
listeners=PLAINTEXT://192.168.0.63:9092
advertised.listeners=PLAINTEXT://192.168.0.63:9092
log.dirs=/home/kafka-logs1

Server2.properties加入配置(删除已注释配置前#符号):

broker.id=2
listeners=PLAINTEXT://192.168.0.63:9093
advertised.listeners=PLAINTEXT://192.168.0.63:9093
log.dirs=/home/kafka-logs2
修改Zookepeer配置(Kafka默认为自带的Zookeeper配置):

zookeeper.connect=192.168.0.71:2181,192.168.0.72:2181,192.168.0.74:2181

3、启动Kafka Server:

bin/kafka-server-start.sh config/server1.properties &
bin/kafka-server-start.sh config/server2.properties &
快速搭建 Zookeeper+Kafka 高可用集群环境_第3张图片
以上,Kafka集群部署完毕

你可能感兴趣的:(分布式集群搭建)