kafka的管理需要借助zookeeper完成,所以要先安装好zookeeper集群。
一、zookeeper集群安装
1.1 集群规划
在主机node1、node2和 node3 三个节点上都部署 Zookeeper。
1.2 解压安装
官网下载地址:https://zookeeper.apache.org/
这里我安装的版本为3.5.7。
在 node1服务器解压 Zookeeper 安装包到目录下:/export/server
修改 apache-zookeeper-3.5.7-bin 名称为 zookeeper-3.5.7。
1.3 配置服务器编号
1、在node1服务器下/export/server/apache-zookeeper-3.5.7这个目录下创建 zkData。
2、zkData 目录下创建一个 myid 的文件,文件内容为:1在文件中添加与 server 对应的编号(注意:上下不要有空行,左右不要有空格)。
注意
:添加 myid 文件,一定要在 Linux 里面创建,在 notepad++和其他文本编辑器里面很可能乱码。
3、拷贝配置好的 zookeeper 到其他机器上,并分别在 node1、node2上修改 myid 文件中内容为 2、3。
1.4 配置zoo.cfg文件
1、重命名/export/server/apache-zookeeper-3.5.7/conf 这个目录下的 zoo_sample.cfg 为 zoo.cfg
2、打开 zoo.cfg 文件
vim zoo.cfg#修改数据存储路径配置
dataDir=/opt/module/zookeeper-3.5.7/zkData
#增加如下配置
#######################cluster##########################
server.1=xxx.xxx.1.219:2888:3888
server.2=xxx.xxx.1.120:2888:3888
server.3=xxx.xxx.1.220:2888:3888
3、同样 zoo.cfg 配置文件到node2、node3服务器
4、server.A=B:C:D
-
A 是一个数字,表示这个是第几号服务器;
-
集群模式下配置一个文件 myid,这个文件在 dataDir 目录下,这个文件里面有一个数据 就是 A 的值,Zookeeper 启动时读取此文件,拿到里面的数据与 zoo.cfg 里面的配置信息比 较从而判断到底是哪个 server。
-
B 是这个服务器的地址;
-
C 是这个服务器 Follower 与集群中的 Leader 服务器交换信息的端口;
-
D 是万一集群中的 Leader 服务器挂了,需要一个端口来重新进行选举,选出一个新的 Leader,而这个端口就是用来执行选举时服务器相互通信的端口。
1.5 集群操作
cd到bin目录下面,三台分别./zkServer.sh start。
./zkServer.sh status
,三台分别查看状态,两台为fllower,一台为leader,集群安装成功。
二、kafka集群安装
2.1 集群规划
在主机node1、node2和 node3 三个节点上都部署 Zookeeper。
2.2 解压安装
官方下载地址:https://kafka.apache.org/downloads.html
我们这里下载的版本为kafka_2.12-3.0.0.tgz。
2.3 解压安装
修改解压后的文件名称为kafka-3.0.0。
cd /export/software
tar -zxvf kafka_2.12-3.0.0.tgz -C /export/server/
cd /export/server/
mv kafka_2.12-3.0.0/ kafka-3.0.0
进入到/export/server/kafka-3.0.0/conf 目录,修改配置文件server.properties,同样修改node2,node3。
注
:broker.id 不得重复,整个集群中唯一。
cd /export/server/kafka-3.0.0/config
vim server.properties
修改以下内容:
#broker 的全局唯一编号,不能重复,只能是数字。
broker.id=1
#kafka 运行日志(数据)存放的路径,路径不需要提前创建,kafka 自动帮你创建,可以配置多个磁盘路径,路径与路径之间可以用","分隔
log.dirs=/export/server/kafka-3.0.0/datas#配置连接 Zookeeper 集群地址(在 zk 根目录下创建/kafka,方便管理)
zookeeper.connect=xxx.xxx.1.219:2181,xxx.xxx.1.120:2181,xxx.xxx.1.220:2181
2.4 在node1、2、3节点配置一样的环境变量
#KAFKA_HOMEexport KAFKA_HOME=/export/server/kafka-3.0.0/export PATH=$PATH:$KAFKA_HOME/bin
source /etc/profile
2.5 启动集群
由于Kafka启动依赖 Zookeeper 集群,所以必须先启动Zookeeper 集群,然后启动 Kafka。
依次在 node1、node2、node3 节点上启动 Kafka。
cd /export/server/kafka-3.0.0bin/kafka-server-start.sh -daemon config/server.properties
启动成功日志。
2.6 关闭集群
cd /export/server/kafka-3.0.0bin/kafka-server-stop.sh
本文作者:事业二部(上海新炬中北团队)
本文来源:“IT那活儿”公众号