想了解zookeeper原理可以去官网查看相关资料 这里有一篇博文写的非常详细,可以看看: https://blog.csdn.net/lingbo229/article/details/81052078
集群搭建: 1、java环境准备 老生常谈,网上教程很多,这里不赘述
2、获取安装包 获取地址: https://zookeeper.apache.org/releases.html 注意:请点击此链接获取安装包 下面那个是源码包解压启动后会报错:找不到或无法加载主类 org.apache.zookeeper.server.quorum.QuorumPeerMain 所以下载红框里面的就好 3、解压配置 解压安装包 创建数据存放位置
mkdir /opt/apache-zookeeper-3.6.1-bin/zkData
创建zookeeper节点ID:
touch /opt/apache-zookeeper-3.6.1-bin/zkData/myid
echo 2 > /opt/apache-zookeeper-3.6.1-bin/zkData/myid #每个节点都不一样
修改配置文件zoo.cfg
server.2=10.150.165.124:2888:3888
server.3=10.150.165.125:2888:3888
server.4=10.150.165.123:2888:3888
解析:
server:为必须字段
2/3/4:当前zookeeper的节点id(ID号和IP或是主机名要一一对应)
10.150.165.*:分别为3台服务器的ip地址(写了解析后也可设置为主机名)
2888:follower和leader的通信端口
3888:当leader挂掉后,各个follower需要重新选举leader进行通信所需的端口
其他两台服务器配置同上,除了myid文件内容不同
4、启动服务 进入zookeeper的bin目录下 查看各节点的zookeeper状态(一个leader,两个follower) 关于zookeeper的选举机制,可以看看下面两篇文章,都写的很详细
1、https://blog.csdn.net/wyqwilliam/article/details/83537139
2、https://www.cnblogs.com/shuaiandjun/p/9383655.html
查看端口连接情况: