1.服务器规划
zookeeper 版本3.8.4
2.预先准备
2.1.ssh免密登录
bash
ssh-keygen -t rsa
2.2 jdk 安装
略
2.3 配置host
bash
sudo vim /etc/hosts
10.128.0.18 hadoop01
10.128.0.21 hadoop02
10.128.0.22 hadoop03
前面为机器对应的内网ip。
3.zookeeper配置
创建zkData目录
bash
mkdir -p /opt/data/zk/zkData
在目录下创建文件myid,内容为编号数字1~N。每台机器一个数字。
bash
vim myid
1
在文件中添加与 server 对应的编号(注意:上下不要有空行,左右不要有空格)。
修改配置zoo.cfg文件
改conf 这个目录下的 zoo_sample.cfg 为 zoo.cfg
bash
zoo_sample.cfg zoo.cfg
修改数据存储路径配置和增加服务器信息
bash
# The number of milliseconds of each tick
tickTime=2000
# The number of ticks that the initial
# synchronization phase can take
initLimit=10
# The number of ticks that can pass between
# sending a request and getting an acknowledgement
syncLimit=5
# the directory where the snapshot is stored.
# do not use /tmp for storage, /tmp here is just
# example sakes.
dataDir=/opt/data/zk/zkData
# the port at which the clients will connect
clientPort=2181
# the maximum number of client connections.
# increase this if you need to handle more clients
#maxClientCnxns=60
#
# Be sure to read the maintenance section of the
# administrator guide before turning on autopurge.
#
# https://zookeeper.apache.org/doc/current/zookeeperAdmin.html#sc_maintenance
#
# The number of snapshots to retain in dataDir
#autopurge.snapRetainCount=3
# Purge task interval in hours
# Set to "0" to disable auto purge feature
#autopurge.purgeInterval=1
## Metrics Providers
#
# https://prometheus.io Metrics Exporter
#metricsProvider.className=org.apache.zookeeper.metrics.prometheus.PrometheusMetricsProvider
#metricsProvider.httpHost=0.0.0.0
#metricsProvider.httpPort=7000
#metricsProvider.exportJvmInfo=true
server.1=hadoop01:2888:3888
server.2=hadoop02:2888:3888
server.3=hadoop03:2888:3888
4.启动集群
配置环境变量后,在每台机器上启动zkServer。
bash
zkServer.sh start
验证zkServer状态
bash
zkServer.sh status