ZooKeeper 是什么?
ZooKeeper 是分布式系统中的分布式协调服务,用于实现分布式同步,维护配置信息,分组和命名服务。
软件版本:
CentOS 7.9
ZooKeeper 3.5.5
JDK 1.8
使用VMWare 虚拟机,克隆出3个节点并安装 ZooKeeper,搭建集群,提前安装好JDK,并设置环境变量。
安装步骤:
1、下载ZooKeeper软件,下载地址是 http://archive.apache.org/dist/zookeeper/,这里选择的是3.5.5版本。
wget http://archive.apache.org/dist/zookeeper/zookeeper-3.5.5/apache-zookeeper-3.5.5-bin.tar.gz
2、解压: tar xf apache-zookeeper-3.5.5-bin.tar.gz
3、将解压后文件夹拷贝到opt目录,cp apache-zookeeper-3.5.5-bin /opt/education/
4、切换到 /opt/education/apache-zookeeper-3.5.5-bin 目录,创建data目录,mkdir data
5、创建myid文件,配置ZooKeeper节点id,使用 vim data/myid 命令编辑myid,输入1,保存并退出。
6、切换到 conf 目录,里面有一个 zoo_sample.cfg 文件,cp 命令复制它并命名为zoo.cfg,编辑,
指定数据目录,用于存放内存中数据的快照;以及事务日志目录:
dataDir=/opt/education/apache-zookeeper-3.5.5-bin/data
logDir=/opt/education/apache-zookeeper-3.5.5-bin/logs
并在文件结尾添加构成 ZooKeeper 集群的所有节点:
server.1=192.168.216.118:2888:3888
server.2=192.168.216.128:2888:3888
server.3=192.168.216.138:2888:3888
3888 用于选主leader通信,2888用于接收客户端 write 请求。
7、切换到 ZooKeeper 的bin目录,这里有一些命令文件,通过 zkServer.sh start-foreground 启动zk服务,目前只安装了一个节点,2和3还没有部署,所以启动会报错。
8、将 /opt/education/apache-zookeeper-3.5.5-bin 远程同步到另外两个虚拟机上,切换到/opt/education/ 目录,然后使用如下命令将zk目录拷贝到另外一个虚拟机的相同目录下:
scp apache-zookeeper-3.5.5-bin -r 192.168.216.128:`pwd`
9、分别修改节点2和3 中的myid文件,将里面的id调整为2,3,其他不变。
10、设置三个节点的防火墙,开放2888和3888端口,命令如下,
firewall-cmd --permanent --zone=public --add-port=2888/tcp
然后重启systemctl restart firewalld.service。
11、启动三个节点上的ZooKeeper服务。