ZooKeeper集群的安装与部署
ZooKeeper集群的安装与部署
- 1、在所有节点上安装ZooKeeper
- 2、配置 ZooKeeper
- 3、配置环境变量
- 4、创建Systemd服务文件
- 5、启动ZooKeeper集群
- 6、验证集群状态
- 7、 前台启动查看日志
1、在所有节点上安装ZooKeeper
创建目录
mkdir -p /usr/local/packages
进入目录
cd /usr/local/packages
下载文件
wget https://archive.apache.org/dist/zookeeper/zookeeper-3.9.2/apache-zookeeper-3.9.2-bin.tar.gz
解压
tar -zxvf apache-zookeeper-3.9.2-bin.tar.gz -C /usr/local
mv /usr/local/apache-zookeeper-3.9.2-bin /usr/local/zookeeper
创建数据目录
mkdir -p /usr/local/zookeeper/data
2、配置 ZooKeeper
在每台节点上创建配置文件
vi /usr/local/zookeeper/conf/zoo.cfg
配置文件
# 基本单位 tick 的毫秒数,用于心跳和超时计算
tickTime=2000# 允许从节点在启动时与领导者进行初始同步的最大 tick 次数 (initLimit * tickTime)
initLimit=10# 请求和确认之间的最大 tick 延迟 (syncLimit * tickTime)
syncLimit=5# ZooKeeper 数据存储目录,用于存放快照和事务日志
dataDir=/usr/local/zookeeper/data# 客户端连接端口
clientPort=2181####################### 集群配置 ##########################
#2888用于节点间通信,3888用于领导者选举
server.1=dict-gsszhjtysxxpt-018:2888:3888
server.2=dict-gsszhjtysxxpt-019:2888:3888
server.3=dict-gsszhjtysxxpt-020:2888:3888
创建 myid 文件,在每个节点上创建唯一的 myid 文件
在 dict-gsszhjtysxxpt-018:
echo "1" > /usr/local/zookeeperr/data/myid
在 dict-gsszhjtysxxpt-019:
echo "2" > /usr/local/zookeeperr/data/myid
在 dict-gsszhjtysxxpt-020:
echo "3" > /usr/local/zookeeperr/data/myid
3、配置环境变量
在所有节点上创建环境变量文件
tee /etc/profile.d/zookeeper.sh << 'EOF'
export ZOOKEEPER_HOME=/usr/local/zookeeper
export PATH=$PATH:$ZOOKEEPER_HOME/bin
EOF
生效环境变量
source /etc/profile.d/zookeeper.sh
4、创建Systemd服务文件
vi /etc/systemd/system/zookeeper.service
所有节点相同
[Unit]
Description=ZooKeeper Service
After=network.target[Service]
Type=forking
User=root
Group=rootEnvironment=JAVA_HOME=/etc/java/jdk1.8.0_421
ExecStart=/usr/local/zookeeper/bin/zkServer.sh start
ExecStop=/usr/local/zookeeper/bin/zkServer.sh stop
ExecReload=/usr/local/zookeeper/bin/zkServer.sh restart
Restart=always
RestartSec=10s[Install]
WantedBy=multi-user.target
5、启动ZooKeeper集群
在所有节点上执行:
#重新加载systemd配置
systemctl daemon-reload
#启用ZooKeeper服务
systemctl enable zookeeper
#停用ZooKeeper服务
systemctl stop zookeeper
#启动ZooKeeper服务
systemctl start zookeeper
#重启服务
systemctl restart zookeeper
#检查服务状态
systemctl status zookeeper
6、验证集群状态
查看本节点状态
/usr/local/zookeeper/bin/zkServer.sh status
返回信息参考:
ZooKeeper JMX enabled by default
Using config: /usr/local/zookeeper/bin/…/conf/zoo.cfg
Client port found: 2181. Client address: localhost. Client SSL: false.
Mode: follower
使用客户端测试,连接到任意节点
/usr/local/zookeeper/bin/zkCli.sh -server dict-gsszhjtysxxpt-018:2181
在 zkCli 中执行测试命令
create /test "hello"
get /test
quit
7、 前台启动查看日志
/usr/local/zookeeper/bin/zkServer.sh start-foreground