大佬教程收集整理的这篇文章主要介绍了Zookeeper【环境搭建 03】【apache-zookeeper-3.6.0 伪集群版】(一台服务器实现三个节点的ZooKeeper集群),大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
为保证集群高可用c;Zookeeper 集群的节点数最好是奇数c;最少有三个节点c;所以这里搭建一个三个节点的集群c;可是我只有两天服务器怎么办呢?我试过两台服务器组件集群c;但是无法启动c;所以这里部署一个【一台服务器三个节点】的伪集群。
我使用的安装文件是 apache-zookeeper-3.6.0-bin.tar.gz c;以下内容均以此版本进行说明。
zookeeper需要运行在Java环境下c;【zookeeper-3.6.0】版本在jdk1.8下正常运行c;这台云服务器安装的是JDK11【这里顺便测试一下能否在JDK11下运行】:
[root@aliyun ~]# java -version
openjdk version "11" 2018-09-25
OpenJDK Runtime Environment 18.9 (build 11+28)
OpenJDK 64-Bit Server VM 18.9 (build 11+28, mixed mode)
关闭防火墙:
# 查看防火墙状态
[root@aliyun ~]# systemctl status firewalld.service
● firewalld.service - firewalld - dynamic firewall daemon
Loaded: loaded (/usr/lib/systemd/system/firewalld.service; disabled; vendor preset: enabled)
Active: inactive (dead)
Docs: man:firewalld(1)
# 如果是开启状态 关闭防火墙
[root@aliyun ~]# systemctl stop firewalld.service
# 准备伪集群目录【zookeeper-cluster 数据文件夹 日志文件夹】【这里不知道有没有简单方法 知道的小伙伴在评论区分享一下 造福大家】
@H_869_93@mkdir /usr/local/zookeeper-cluster
cd /usr/local/zookeeper-cluster
@H_869_93@mkdir data log
cd /usr/local/zookeeper-cluster/data
@H_869_93@mkdir 01 02 03
cd /usr/local/zookeeper-cluster/log
@H_869_93@mkdir 01 02 03
# 解压【这次不直接移动到/usr/local下】
[root@aliyun zookeeper]# tar -zxvf apache-zookeeper-3.6.0-bin.tar.gz
拷贝配置样本 zoo_sample.cfg 为 zoo.cfg 并进行修改【zookeeper 程序文件复制成三份后 zoo.cfg 还需要进行修改 将X修改成 1 2 3】【参数配置这里不再进行解释】可参考之前的《zookeeper 集群版》配置说明:
# 默认配置
tickTime=2000
initLimit=10
syncLimit=5
# 需要进行配置的
dataDir=/usr/local/zookeeper-cluster/data/0X
dataLogDir=/usr/local/zookeeper-cluster/log/0X
clientPort=218X
# 【如果是多台服务器 则集群中每个节点通讯端口和选举端口可相同 伪分布式不能相同】
server.1=aliyun:2287:3387
server.2=aliyun:2288:3388
server.3=aliyun:2289:3389
# 复制到 zookeeper01 zookeeper02 zookeeper03 【这里只贴出一个】
cp -r /home/zookeeper/apache-zookeeper-3.6.0-bin/. /usr/local/zookeeper-cluster/zookeeper01
修改每个 zookeeper 程序文件的 zoo.cfgc;这里只贴出 zookeeper01 的:
vim /usr/local/zookeeper-cluster/zookeeper01/conf/zoo.cfg
# 默认配置【三个配置文件相同】
tickTime=2000
initLimit=10
syncLimit=5
# 配置数据和日志文件夹及客户端端口【三个配置文件不同】
dataDir=/usr/local/zookeeper-cluster/data/01 【另外两台 02 03】
dataLogDir=/usr/local/zookeeper-cluster/log/01 【另外两台 02 03】
clientPort=2181 【另外两台 2182 2183】
# 配置通讯端口和选举端口【三个配置文件相同】
server.1=aliyun:2287:3387
server.2=aliyun:2288:3388
server.3=aliyun:2289:3389
分别在三个节点的数据存储目录下新建 myid 文件c;并写入对应的节点标识。Zookeeper 集群通过myid 文件识别集群节点c;并通过上文配置的节点通信端口和选举端口来进行节点通信c;选举出 leader节点。
echo "1" > /usr/local/zookeeper-cluster/data/01/myid
echo "2" > /usr/local/zookeeper-cluster/data/02/myid
echo "3" > /usr/local/zookeeper-cluster/data/03/myid
/usr/local/zookeeper-cluster/zookeeper01/bin/zkServer.sh start
/usr/local/zookeeper-cluster/zookeeper02/bin/zkServer.sh start
/usr/local/zookeeper-cluster/zookeeper03/bin/zkServer.sh start
# 【这里只贴出其中一个节点的成功日志】
ZooKeeper JMX enabled by default
Using config: /usr/local/zookeeper-cluster/zookeeper01/bin/../conf/zoo.cfg
StarTing zookeeper ... STARTED
使用 jps 查看进程c;可看到有三个zookeeper进程:
[root@aliyun ~]# jps -l
10993 org.apache.zookeeper.server.quorum.QuorumPeerMain
1652 org.apache.zookeeper.server.quorum.QuorumPeerMain
11048 org.apache.zookeeper.server.quorum.QuorumPeerMain
使用 zkServer.sh status 查看集群各个节点状态:
/usr/local/zookeeper-cluster/zookeeper01/bin/zkServer.sh status
/usr/local/zookeeper-cluster/zookeeper02/bin/zkServer.sh status
/usr/local/zookeeper-cluster/zookeeper03/bin/zkServer.sh status
# 可以看到myid是2的是leader 1和3是follower【初始化的选举机制可自行了解一下】
[root@aliyun zookeeper01]# /usr/local/zookeeper-cluster/zookeeper01/bin/zkServer.sh status
ZooKeeper JMX enabled by default
Using config: /usr/local/zookeeper-cluster/zookeeper01/bin/../conf/zoo.cfg
Client port found: 2181. client address: localhost.
Mode: follower
[root@aliyun zookeeper01]# /usr/local/zookeeper-cluster/zookeeper02/bin/zkServer.sh status
ZooKeeper JMX enabled by default
Using config: /usr/local/zookeeper-cluster/zookeeper02/bin/../conf/zoo.cfg
Client port found: 2182. client address: localhost.
Mode: leader
[root@aliyun zookeeper01]# /usr/local/zookeeper-cluster/zookeeper03/bin/zkServer.sh status
ZooKeeper JMX enabled by default
Using config: /usr/local/zookeeper-cluster/zookeeper03/bin/../conf/zoo.cfg
Client port found: 2183. client address: localhost.
Mode: follower
以上是大佬教程为你收集整理的Zookeeper【环境搭建 03】【apache-zookeeper-3.6.0 伪集群版】(一台服务器实现三个节点的ZooKeeper集群)全部内容,希望文章能够帮你解决Zookeeper【环境搭建 03】【apache-zookeeper-3.6.0 伪集群版】(一台服务器实现三个节点的ZooKeeper集群)所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。