搭建起一个zookeeper的集群环境,选择三台机器作为测试(zookeeper的集群环境节点数最好的是>=3且为奇数)
选用三台虚拟机机器(三台机器上需要配置好jdk环境):
- Node1:192.168.153.133
- Node2:192.168.153.137
- Node3:192.168.153.138
首先下载zookeeper的稳定版,地址https://mirrors.tuna.tsinghua.edu.cn/apache/zookeeper/stable/apache-zookeeper-3.5.6-bin.tar.gz,官网地址:
下载完成之后解压,放在指定地址(我这里在usr目录下创建了一个opt目录,将zookeeper放在此目录下),然后执行以下操作:
cd /usr && mkdir opt cd /usr/opt/ #下载zookeeper wget https://mirrors.tuna.tsinghua.edu.cn/apache/zookeeper/stable/apache-zookeeper-3.5.6-bin.tar.gz #进入zookeeper目录 cd /usr/opt/ #执行解压命令 tar -zxvf apache-zookeeper-3.5.6-bin.tar.gz #重命名 mv apache-zookeeper-3.5.6-bin/ zookeeper #进入文件夹 cd zookeeper/ #创建一个数据存储目录以及日志存储目录 mkdir data && mkdir logs #拷贝一份配置文件,后期使用zoo.cfg cp conf/zoo_sample.cfg zoo.cfg #编辑配置文件 vim conf/zoo.cfg
编辑配置文件,主要修改以下地方(后面几台机器的配置也是如此,只不过是ip地址不同,记得修改):
dataDir=/tmp/zookeeper 修改为:dataDir=/usr/opt/zookeeper/data #添加以下内容: #添加日志存储目录 dataLogDir=/usr/opt/zookeeper/logs #修改ip,防止ip为localhost clientPortAddress=192.168.153.133 #集群机器配置,2888为对外访问地址,3888为leader节点挂了之后的集群选举地址 server.0=192.168.153.133:2888:3888 server.1=192.168.153.137:2888:3888 server.2=192.168.153.138:2888:3888
之后加入本机节点信息:
#进入数据存储目录 cd /usr/opt/zookeeper/data/ #新建一个myid,并加入内容为0(每台机器的值不同,根据前面zookeeper的server.n来加入不同的内容,对应着server.n后面的n) vim myid #加入内容并保存
然后配置zookeeper的环境变量:
#编辑文件 vim /etc/profile
加入以下内容(视本机的zookeeper目录而定):
export ZOOKEEPER_HOME=/usr/opt/zookeeper export PATH=$PATH:$ZOOKEEPER_HOME/bin
编辑好之后生效配置文件:
source /etc/profile
其他几台机器的配置也是一样,参照以上描述,修改主机地址以及myid的内容即可
三台机器环境都配置好之后,接下来可以开始启动zookeeper,在zookeeper目录下执行命令:
bin/zkServer.sh start
每台机器都启动之后,执行以下命令查看状态:
bin/zkServer.sh status
zookeeper集群会自动对节点进行leader选举,执行上面命令后,zookeeper会显示当前节点的状态,比如:
至此,就完成了zookeeper的集群搭建啦,最后附上一个停止命令:
bin/zkServer.sh stop