1、配置 systemd
$ cd /etc/systemd/system/
$ vim zookeeper.service
|
zookeeper.service 配置文件如下,注意,跟随环境信息相应调整:
[Unit]
Description=zookeeper.service
After=network.target
[Service]
Type=forking
#WorkingDirectory=/data/apache-zookeeper- 3.6 . 3
Environment=ZOO_LOG_DIR=/data/apache-zookeeper- 3.6 . 3 /logs JAVA_HOME={JAVA_HOME}
#PIDFile=/data/apache-zookeeper- 3.6 . 3 /logs/zookeeper_server.pid
ExecStart=/data/apache-zookeeper- 3.6 . 3 /bin/zkServer.sh start
ExecStop=/data/apache-zookeeper- 3.6 . 3 /bin/zkServer.sh stop
ExecReload=/data/apache-zookeeper- 3.6 . 3 /bin/zkServer.sh restart
User={启动用户}
Group={启动组}
Restart=on-failure
[Install]
WantedBy=multi-user.target
|
# 设置权限
$ sudo chmod 755 zookeeper.service
# 刷新 systemd 配置
$ sudo systemctl daemon-reload
# systemd 启用 zookeeper
$ sudo systemctl enable zookeeper.service
|
2、解压安装包
$ cd /data
$ tar -zxvf apache-zookeeper- 3.6 . 3 .tar.gz
$ cd /data/apache-zookeeper- 3.6 . 3 /conf
$ cp zoo_sample.cfg zoo.cfg
|
3、配置 zoo.cfg
# the port at which the clients will connect
clientPort={clientPort}
dataDir=/data/apache-zookeeper- 3.6 . 3 /data
# server.A=B:C:D
# A 表示一个数字,这个数字表示第几个服务器,配置在myid的文件
# B 服务器地址,也就是ip地址
# C 本台服务器与集群中的 leader 服务器交换信息端口
# D 万一 leader 挂了就需要这个端口重新选举
server. 1 ={ip1}:{leaderport}:{peerport}
server. 2 ={ip2}:{leaderport}:{peerport}
server. 3 ={ip3}:{leaderport}:{peerport}
|
4、配置 myid
# 第 1 台 机器执行,值跟 zoo.cfg 中的 A 对应
echo "1" >>/data/apache-zookeeper- 3.6 . 3 /data/myid
# 第 2 台 机器执行,值跟 zoo.cfg 中的 A 对应
echo "2" >>/data/apache-zookeeper- 3.6 . 3 /data/myid
# 第 3 台 机器执行,值跟 zoo.cfg 中的 A 对应
echo "3" >>/data/apache-zookeeper- 3.6 . 3 /data/myid
|
5、启动 zookeeper
# 启动 zookeeper
$ sudo systemctl start zookeeper.service
# 检查 zookeeper 启动状态
$ systemctl status zookeeper.service
|
6、检查服务状态
telnet ip:{clientPort}
1、配置 systemd
$ cd /etc/systemd/system/
$ vim zookeeper.service
|
zookeeper.service 配置文件如下,注意,跟随环境信息相应调整:
[Unit]
Description=zookeeper.service
After=network.target
[Service]
Type=forking
#WorkingDirectory=/data/apache-zookeeper- 3.6 . 3
Environment=ZOO_LOG_DIR=/data/apache-zookeeper- 3.6 . 3 /logs JAVA_HOME={JAVA_HOME}
#PIDFile=/data/apache-zookeeper- 3.6 . 3 /logs/zookeeper_server.pid
ExecStart=/data/apache-zookeeper- 3.6 . 3 /bin/zkServer.sh start
ExecStop=/data/apache-zookeeper- 3.6 . 3 /bin/zkServer.sh stop
ExecReload=/data/apache-zookeeper- 3.6 . 3 /bin/zkServer.sh restart
User={启动用户}
Group={启动组}
Restart=on-failure
[Install]
WantedBy=multi-user.target
|
# 设置权限
$ sudo chmod 755 zookeeper.service
# 刷新 systemd 配置
$ sudo systemctl daemon-reload
# systemd 启用 zookeeper
$ sudo systemctl enable zookeeper.service
|
2、解压安装包
$ cd /data
$ tar -zxvf apache-zookeeper- 3.6 . 3 .tar.gz
$ cd /data/apache-zookeeper- 3.6 . 3 /conf
$ cp zoo_sample.cfg zoo.cfg
|
3、配置 zoo.cfg
# the port at which the clients will connect
clientPort={clientPort}
dataDir=/data/apache-zookeeper- 3.6 . 3 /data
# server.A=B:C:D
# A 表示一个数字,这个数字表示第几个服务器,配置在myid的文件
# B 服务器地址,也就是ip地址
# C 本台服务器与集群中的 leader 服务器交换信息端口
# D 万一 leader 挂了就需要这个端口重新选举
server. 1 ={ip1}:{leaderport}:{peerport}
server. 2 ={ip2}:{leaderport}:{peerport}
server. 3 ={ip3}:{leaderport}:{peerport}
|
4、配置 myid
# 第 1 台 机器执行,值跟 zoo.cfg 中的 A 对应
echo "1" >>/data/apache-zookeeper- 3.6 . 3 /data/myid
# 第 2 台 机器执行,值跟 zoo.cfg 中的 A 对应
echo "2" >>/data/apache-zookeeper- 3.6 . 3 /data/myid
# 第 3 台 机器执行,值跟 zoo.cfg 中的 A 对应
echo "3" >>/data/apache-zookeeper- 3.6 . 3 /data/myid
|
5、启动 zookeeper
# 启动 zookeeper
$ sudo systemctl start zookeeper.service
# 检查 zookeeper 启动状态
$ systemctl status zookeeper.service
|
6、检查服务状态
telnet ip:{clientPort}