安装zookeeper
部署zookeeper集群
说明
本次部署以3台机器部署集群,kafka使用kafka_2.11-0.10.1.1版本,zookeeper使用kafka内置zookeeper部署zookeeper集群
Zookeeper安装安装调试
需要jdk-8u141-linux-x64.tar.gza) 解压缩kafka到/usr/local/目录
tar xzf kafka_2.11-0.10.1.1.tgz –C /home/deploymv kafka_2.11-0.10.1.1 kafka
配置hosts
vim /ets/hosts
192.161.0.241 kafka_01
192.161.0.245 kafka_02
192.161.0.246 kafka_03
b) 创建zookeeper数据目录,并创建myid
Zookeeper数据及日志目录请根据项目服务器实际情况调整,本次使用以下目录数据目录:
mkdir -pv /home/deploy/kafka/data/zookeeper/
日志目录:
kafka自带的zookeeper会在logs下生产zookeeper.out日志文件
mkdir -pv /home/deploy/kafka/logs/zookeeper/
在数据目录创建myid,每台服务器都不同例如
echo 1 > /home/deploy/kafka/data/zookeeper/myid 主机241上执行
echo 2 > /home/deploy/kafka/data/zookeeper/myid 主机245上执行
echo 3 > /home/deploy/kafka/data/zookeeper/myid 主机246上执行
c) 修改配置文件
vim /home/deploy/kafka/config/zookeeper.properties
修改和添加一下内容,
限制连接到ZooKeeper的客户端数量,并且限制并发连接数量,它通过IP来区别不同的客户端。此配置选项可用来阻止某些类别的Dos攻击。将maxClientCnxns设置为0或忽略而不进行设置将会取消对并发连接的限制:
#客户端端口
clientPort=2181
#最大连接数
maxClientCnxns=120
#数据存储路径
dataDir=/home/deploy/kafka/data/zookeeper
#日志存储路径
dataLogDir=/home/deploy/kafka/logs/zookeeper
# 服务器之间或客户端与服务器之间维持心跳的时间间隔,tickTime以毫秒为单位。
tickTime=2000
# 集群中的follower服务器(F)与leader服务器(L)之间的初始连接心跳数
initLimit=10
# 集群中的follower服务器与leader服务器之间请求和应答之间能容忍的最多心跳数
syncLimit=5
server.1=192.161.0.241:2888:3888
server.2=192.161.0.245:2888:3888
server.3=192.161.0.246:2888:3888
这里server后跟的myid编号,等号后面跟着主机名或者ip地址
# 三个接点配置,格式为:
# server.服务编号=服务地址:通信端口:选举端口
三个节点都需要做同样配置
d) 开放端口
l 开放所有IPfirewall-cmd --zone=public --add-port=2181,2888,3888/tcp --permanent
firewall-cmd --reload
# 配置环境变量
vim /etc/profile
export ZOOKEEPER_HOME=/home/deploy/kafka
export PATH=$PATH:$ZOOKEEPER_HOME/bin
# 设置当前环境变量立即生效
source /etc/profile
e) 启动zookeeper
三台机器上都需要启动,需要同时启动/home/deploy/kafka/bin/zookeeper-server-start.sh -daemon /home/deploy/kafka/config/zookeeper.properties
-daemon是后台启动