一、环境准备
操作系统:CentOS Linux release 7.5
192.168.99.100 test1
192.168.99.101 test2
PS:集群建议为奇数,即节点为3,5,7...
二. 部署前的准备工作
1、保证各个主机之间能够正常通信,最好是在同一网段。
2、修改hosts文件,将两台主机的信息写入hosts文件中。
3、关闭防火墙
systemctl stop firewalld
systemctl disable firewalld
如需开启防火墙,需要开放zookeeper对应的端口:2181,2888,3888
端口说明:
2181端口:对client端提供服务
2888端口:集群选举leader使用
3888端口:集群内机器通讯使用(Leader监听此端口)
4、安装JAVA环境
1)yum方式安装:
yum install java
java -version
2)tar安装包安装
官网下载安装包
tar -zxvf jdk-8u231-linux-x64.tar.gz -C /opt #安装包解压到/opt目录
配置java环境变量
vi /etc/profile #文件末尾添加
export JAVA_HOME=/opt/jdk1.8.0_231/
export JRE_HOME=$JAVA_HOME/jre
export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/jre/lib:$CLASSPATH
export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH
source /etc/profile #使配置生效
java -version #查看java版本信息
三、安装zookeeper集群
1、zookeeper官网下载安装包:https://zookeeper.apache.org/releases.html
2、安装包上传到服务器,开始安装。
tar -zxvf zookeeper-3.4.13.tar.gz -C /data
cd /data /zookeeper-3.4.13
mkdir {data,log} #创建数据目录和日志目录
cd conf/ && mv zoo_sample.cfg zoo.cfg && vim zoo.cfg #修改zookeeper配置文件
tickTime=2000
initLimit=10
syncLimit=5
#修改数据目录和日志目录
dataDir=/data/zookeeper-3.4.13/data
dataLogDir=/data/zookeeper-3.4.13/log
clientPort=2181
#保留20个文件
autopurge.snapRetainCount=20
#保留48小时
autopurge.purgeInterval=48
############
#zookeeper集群主机1,test1为主机名,也可以写IP地址
server.1=test1:2888:3888
#zookeeper集群主机2,test2为主机名,也可以写IP地址
server.2=test2:2888:3888
将zookeeper复制到其他集群服务器
scp -r /data/zookeeper-3.4.13 root@test2:/data
执行以下命令创建myid文件,并写入ID,集群机器myid不可相同。
echo 1 > /data/zookeeper-3.4.13/data/myid
即对于conf/zoo.cfg中集群服务器server.1。
注意:此处的1对应zoo.cfg配置文件中集群server.1
集群机器test2操作:
执行以下命令创建myid文件,并写入ID,集群机器myid不可相同。
echo 2 > /data/zookeeper-3.4.13/data/myid
注意:此处的2对应zoo.cfg配置文件中集群server.2
3、启动zookeeper集群
所有集群服务器启动zookeeper:
cd /data /zookeeper-3.4.13/bin
./zkServer.sh start #启动zookeeper
所有zookeeper启动完成之后,可以查看状态
./zkServer.sh status #查看状态
其中有一个节点是leader,有一个节点是follower
4、测试zookeeper
登录lader节点
./zkCli.sh -server test2:2181
create /zk-cluster-test cluster-data #创建节点数据
登录follower节点
./zkCli.sh -server test1:2181
get /zk-cluster-test #查看节点数据