Zookeeper 集群安装
序号 | 机器名 | IP地址 |
---|---|---|
1 | zk-1 | 192.168.31.121 |
2 | zk-2 | 192.168.31.122 |
3 | zk-3 | 192.168.31.123 |
1 下载安装包
官网https://zookeeper.apache.org/releases.html
2. Jdk安装
apt install openjdk-8-jdk
root@zookeeper-1:~# java -version
openjdk version "1.8.0_342"
OpenJDK Runtime Environment (build 1.8.0_342-8u342-b07-0ubuntu1~20.04-b07)
OpenJDK 64-Bit Server VM (build 25.342-b07, mixed mode)
3. 安装zookeeper
mkdir /apps/
tar xf apache-zookeeper-3.6.3-bin.tar.gz -C /apps/
cp /apps/apache-zookeeper-3.6.3-bin/conf/{
zoo_sample.cfg,zoo.cfg}
mkdir /data/zookeeper -p
修改配置文件
# 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=/data/zookeeper
# 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=100
server.1=192.168.31.121:2888:3888
server.2=192.168.31.122:2888:3888
server.3=192.168.31.123:2888:3888
参数 | 含义 |
---|---|
tickTime=2000 | 心跳时间 |
initLimit=10 | 初始化集群时leader与follower超时次数 |
syncLimit=5 | 初始化同步后健康检查失败次数 |
dataDir=/data/zookeeper | 数据持久化路径 |
clientPort=2181 | 监听端口 |
maxClientCnxns=60 | 单个IP最大并发连接数 |
4. 每台服务器生成zookeeper ID
文件名为myid,目录是dataDir的路径
# server.1上
echo 1 > /data/zookeeper/myid
# server.2上
echo 2 > /data/zookeeper/myid
# server.3上
echo 3 > /data/zookeeper/myid
5. 启动服务
/apps/apache-zookeeper-3.6.3-bin/bin/zkServer.sh start
root@zookeeper-1:/apps/apache-zookeeper-3.6.3-bin/conf# /apps/apache-zookeeper-3.6.3-bin/bin/zkServer.sh status
/usr/bin/java
ZooKeeper JMX enabled by default
Using config: /apps/apache-zookeeper-3.6.3-bin/bin/../conf/zoo.cfg
Client port found: 2181. Client address: localhost. Client SSL: false.
Mode: leader ## 此节点可写
root@zookeeper-2:/apps/apache-zookeeper-3.6.3-bin/conf# /apps/apache-zookeeper-3.6.3-bin/bin/zkServer.sh status
/usr/bin/java
ZooKeeper JMX enabled by default
Using config: /apps/apache-zookeeper-3.6.3-bin/bin/../conf/zoo.cfg
Client port found: 2181. Client address: localhost. Client SSL: false.
Mode: follower ## 只读节点
此时三台服务器状态
序号 | 机器名 | IP地址 | 角色 | 监听端口 |
---|---|---|---|---|
1 | zk-1 | 192.168.31.121 | leader | 2181,2888,3888 |
2 | zk-2 | 192.168.31.122 | follower | 2181,3888 |
3 | zk-3 | 192.168.31.123 | follower | 2181,3888 |