先决条件:
本实验机器三台
主机名 | IP |
---|---|
zk1 | 192.168.11.182 |
zk2 | 192.168.11.184 |
zk3 | 192.168.11.185 |
实验必须前提:
1)关闭selinux
2)关闭firewalld防火墙
一、下载所需的二进制包
1)
2)
3)
4)
5)下载
wget http://mirror.bit.edu.cn/apache/zookeeper/zookeeper-3.5.7/apache-zookeeper-3.5.7.tar.gz(实验目前这个版本没有成功)
wget https://mirrors.tuna.tsinghua.edu.cn/apache/zookeeper/zookeeper-3.4.14/zookeeper-3.4.14.tar.gz(最后个人实验使用这个版本)
二、准备搭建操作
1)解压zookeeper软件包
到/usr/local目录下
tar -zxf zookeeper-3.4.14.tar.gz -C /usr/local/
mv /usr/local/apache-zookeeper-3.4.14 /usr/local/zookeeper
2)搭建java
环境
tar -zxf jdk-8u231-linux-x64.tar.gz -C /usr/local/
mv jdk1.8.0_231/ jdk
3)配置环境变量
vim /etc/profile
vim /etc/profile.d/zookeeper.sh
export ZOOKEEPER_HOME=/usr/local/zookeeper
export PATH=$ZOOKEEPER_HOME/bin:$PATH
vim /etc/profile.d/java.sh
export JAVA_HOME=/usr/local/jdk
export JRE_HOME=/usr/local/jdk/jre
export CLASSPATH=$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH
export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH
4)重新加载环境
source /etc/profile
5)验证
是否安装成功
java -version
三、搭建zookeeper集群
1、重命名zookeeper配置文件
mv zoo_sample.cfg zoo.cfg
对于这个官网提示如下:
2、配置zookeeper文件
vim zoo.cfg
#ZooKeeper使用的基本时间单位(以毫秒为单位)。它用于做心跳,最小会话超时将是tickTime的两倍。
tickTime=2000
#允许关注者连接并同步到领导者的时间量
initLimit=10
#允许关注者与ZooKeeper同步的时间量(以tick为单位)(请参阅tickTime)。如果粉丝落后于领导者,他们就会被淘汰。
syncLimit=5
#ZooKeeper将存储内存数据库快照的位置
dataDir=/opt/zookeeper
#这允许使用专用的日志设备,并有助于避免日志记录和快照之间的竞争。
dataLogDir=/opt/zookeeperlog
#侦听客户端连接的端口; 也就是客户端尝试连接的端口
clientPort=2181
#添加zookeeper集群主机
#2888端口——心跳端口
#3888端酒——选举端口
#有两个端口号nnnnn。第一批追随者用来连接领导者,第二个追随者用于领导者选举。如果要在一台计算机上测试多个服务器,则可以为每个服务器使用不同的端口
server.1=192.168.11.182:2888:3888
server.2=192.168.11.184:2888:3888
server.3=192.168.11.185:2888:3888
#官网指南帮助手册地址,一定的去看看每个人的理解不同
# http://zookeeper.apache.org/doc/current/zookeeperAdmin.html#sc_maintenance
#3.4.0中的新增功能:启用后,ZooKeeper自动清除功能分别在dataDir和dataLogDir中保留autopurge.snapRetainCount最新快照和相应的事务日志,并删除其余日志。默认为3.最小值为3
#autopurge.snapRetainCount=3
#3.4.0中的新增内容:必须触发清除任务的时间间隔(以小时为单位)。设置为正整数(1和更高)以启用自动清除。默认为0。
#autopurge.purgeInterval=1
接下来:
创建储存内存数据目录
:/opt/zookeeper
创建日志记录目录
: /opt/zookeeperlog
mkdir /opt/zookeeper && mkdir /opt/zookeeperlog
四、在每一台主机/opt/zookeeper目录分明创建1、2、3
master端:echo 1 > /opt/zookeeper/myid
server1端:echo 2 > /opt/zookeeper/myid
server2端: echo 3 > /opt/zookeeper/myid
官方提示myid作用如下图:
将其他两台机器重复操作上面一到三的步骤(zookeeper主配置文件一样即可)(可使用scp命令将配置文件传输过去),第四步写入对应的myid值,例如第一台myid为1,第二台myid为2,第三台myid为3,以此类推。。。。
五、配置/etc/hosts文件(三台机器都需要)
192.168.11.182 zk1
192.168.11.184 zk2
192.168.11.185 zk3
六、启动服务(三台机器都启动)
zkServer.sh start
七、查看是否正常运行
zkServer.sh status
详细内容查看zookeeper官方网址