文章目录
- 1. zookeeper下载
- 2. 解压
- 3. 重命名
- 4. 创建dataDir目录和dataLogDir日志目录
- 5. 更新备份配置文件
- 6. 添加数据目录和日志文件目录
- 7. 添加集群信息
- 7.1. ip配置 方式01
- 7.2. 域名配置 方式02(推荐使用)
- 8. 在服务器上分别创建myid,各自写入内容0,1, 2
- 9. 同步节点
- 10. 集群脚本制作
- 11. 关闭防火墙
- 12. 运行异常
- 13. 启动脚本测试:
1. zookeeper下载
wget http://archive.apache.org/dist/zookeeper/zookeeper-3.5.7/apache-zookeeper-3.5.7-bin.tar.gz
2. 解压
tar zxvf apache-zookeeper-3.5.7-bin.tar.gz
3. 重命名
mv apache-zookeeper-3.5.7-bin zookeeper-3.5.7
4. 创建dataDir目录和dataLogDir日志目录
cd /app/zookeeper-3.5.7/
mkdir dataDir
mkdir dataLogDir
5. 更新备份配置文件
cd /app/zookeeper-3.5.7/conf/
cp zoo_sample.cfg zoo.cfg
6. 添加数据目录和日志文件目录
cd /app/zookeeper-3.5.7/conf/
vim zoo.cfg
#添加下面2行(删除原来的dataDir第12行)
dataDir=/app/zookeeper-3.5.7/dataDir
dataLogDir=/app/zookeeper-3.5.7/dataLogDir
7. 添加集群信息
有2种方式 任选其一即可
7.1. ip配置 方式01
在后面加上集群的机器:2888是leader和follower通讯端口,3888是投票的
server.0=192.168.43.32:2888:3888
server.1=192.168.43.151:2888:3888
server.2=192.168.43.222:2888:3888
7.2. 域名配置 方式02(推荐使用)
server.0=ly-01:2888:3888
server.1=ly-02:2888:3888
server.2=ly-03:2888:3888
如果想设置为域名,只需要在hosts文件中,配置ip和域名对应关系即可
192.168.43.32 ly-01
192.168.43.151 ly-02
192.168.43.222 ly-03
保存退出
验证域名可以正常解析ping一下域名即可
ping ly-01
ping ly-02
ping ly-03
8. 在服务器上分别创建myid,各自写入内容0,1, 2
cd /app/zookeeper-3.5.7/
#下面在服务器上分别创建
echo 0 > dataDir/myid
echo 1 > dataDir/myid
echo 2 > dataDir/myid
9. 同步节点
把ly-01上的zk配置,通过scp命令同步到ly-02,ly-03其他两个节点
scp -r zookeeper-3.5.7/ root@ly-02:/app
scp -r zookeeper-3.5.7/ root@ly-03:/app
登录ly-02服务器 修改myid文件中的内容(上面已说明)
#进入zookeeper目录的
echo 1 > dataDir/myid
登录ly-03服务器 修改myid文件中的内容(上面已说明)
#进入zookeeper目录的
echo 2 > dataDir/myid
10. 集群脚本制作
只做启动和查看启动状态脚本
#!/bin/bash
for host in ly-01 ly-02 ly-03
do
echo "${host}:$1ing....."
ssh $host "source /etc/profile;/app/zookeeper-3.5.7/bin/zkServer.sh $1"
donesleep 2
for host in ly-01 ly-02 ly-03
do
ssh $host "source /etc/profile;/app/zookeeper-3.5.7/bin/zkServer.sh status"
done
为了免密登录需要执行下面几条命令
#执行以下命令一直回车
ssh-keygen
ssh-copy-id ly-01
ssh-copy-id ly-02
ssh-copy-id ly-03
11. 关闭防火墙
#查看防火墙运行状态
systemctl status firewalld.service
#关闭防火墙
systemctl stop firewalld.service
12. 运行异常
删除dataDir目录中的version文件夹
13. 启动脚本测试:
./zkmanage.sh start
停止zookeeper并查看zk运行状态
./zkmanage.sh stop
注:此脚本是2个命令的结合版本,启动zk或者停止zk后,睡眠2秒钟会自动查看zk的运行状态
zk集群启动脚本
#!/bin/bash
for host in ly-01 ly-02 ly-03
do
echo "${host}:$1ing....."
ssh $host "source /etc/profile;/app/zookeeper-3.5.7/bin/zkServer.sh start"
done
zk停止脚本
#!/bin/bash
for host in ly-01 ly-02 ly-03
do
echo "${host}:$1ing....."
ssh $host "source /etc/profile;/app/zookeeper-3.5.7/bin/zkServer.sh stop"
done
查看zk运行状态脚本
#!/bin/bash
for host in ly-01 ly-02 ly-03
do
echo "${host}:$1ing....."
ssh $host "source /etc/profile;/app/zookeeper-3.5.7/bin/zkServer.sh status"
done
zk集群动态脚本
#zk启动++查看运行状态
./zkmanage.sh start
#zk停止 +查看运行状态
./zkmanage.sh stop
#!/bin/bash
for host in ly-01 ly-02 ly-03
do
echo "${host}:$1ing....."
ssh $host "source /etc/profile;/app/zookeeper-3.5.7/bin/zkServer.sh $1"
donesleep 2
for host in ly-01 ly-02 ly-03
do
ssh $host "source /etc/profile;/app/zookeeper-3.5.7/bin/zkServer.sh status"
done