zookeeper入门到精通03——zookeeper集群搭建(下)

本文涉及的产品
服务治理 MSE Sentinel/OpenSergo,Agent数量 不受限
云原生网关 MSE Higress,422元/月
云防火墙,500元 1000GB
简介: zookeeper集群搭建3.1 多虚拟机环境搭建3.2 zookeeper集群搭建


(2) 服务器命名


在xshell中操作主机zookeeper01.在zkData下新建并编辑文件myid。

cd /home/wangzhou/Downloads/zookeeper-3.5.7/zkData

输入1并保存退出。

3)软件分发

我们可以使用软件分发脚本将zookeeper,jdk等直接分发到其它主机,在集群数量很多的情况下这可是特别高效的,不过在软件分发前我们需要做一些准备工作。

先将需要集群的主机取下别名。

sudo vim /etc/hosts
• 1

然后在home目录下新建文件夹bin

mkdir bin

编辑文件xsync,关于这个命令的更多介绍可以参考集群服务器的同步xsync命令使用_诗水人间的博客-CSDN博客_xsync未找到命令进行了解,总之它可以用来实现集群的软件分发工作。

vim xsync

具体内容如下。

#!/bin/bash
#1 获取输入参数个数,如果没有参数,直接退出
pcount=$#
if((pcount==0)); then
echo no args;
exit;
fi
#2 获取文件名称
p1=$1
fname=`basename $p1`
echo fname=$fname
#3 获取上级目录到绝对路径
pdir=`cd -P $(dirname $p1); pwd`
echo pdir=$pdir
#4 获取当前用户名称
user=`whoami`
#5 循环
for((host=2;host<4;host++)); do
        echo ------------------- zookeeper$host --------------
        rsync -rvl $pdir/$fname $user@zookeeper0$host:$pdir
done

准备工作做好了,返回到zookeeper的上级目录,同步分发zookeeper。

/home/wangzhou/Downloads
su root
xsync ~/Downloads/zookeeper-3.5.7/
• 1
• 2
• 3

执行结果如下。可以在102上检查下。好神奇啊是不是。

对另外两台主机也新建myid文件,分别写入2,3。

编辑服务器zookeeper01的配置文件 zoo.cfg。

#######################cluster##########################
server.1=zookeeper01:2888:3888 
server.2=zookeeper02:2888:3888
server.3=zookeeper03:2888:3888

上面的配置格式如下

server.A=B:C:D
• 1

其中A就是我们配置的myid,相当于一个身份标示;B就是主机的地址,我们更改了hosts文件,因此就使用别名代替了,您也可以直接使用ip地址;c时Leader与Follower通信的端口号;D是当Leader服务器挂了,用于选举的通信端口号。

分发到其它服务器。

[wangzhou@bogon conf]$ su root
[root@bogon conf]# xsync ./zoo.cfg 

启动zookeeper01。报错如下。

Error: JAVA_HOME is not set and java could not be found in PATH.
• 1

我们目前有三台服务器,但是只启动了一台,根据集群规则,zookeeper集群还没有达到半数服务器运行,集群无法正常运行。


我们如法炮制,将jdk,环境变量文件等分发到其它服务器,然后再启动一台服务器即可。


查看zkServer.sh status,zookeeper没有真正跑起来

[wangzhou@bogon zookeeper-3.5.7]$ ./bin/zkServer.sh status
ZooKeeper JMX enabled by default
Using config: /home/wangzhou/Downloads/zookeeper-3.5.7/bin/../conf/zoo.cfg
Client port found: 2181. Client address: localhost.
Error contacting service. It is probably not running.

查看日志。

[wangzhou@bogon zookeeper-3.5.7]$ cd logs
[wangzhou@bogon logs]$ vim zookeeper-root-server-bogon.out

日志信息如下

2022-04-03 12:25:46,551 [myid:] - INFO  [main:QuorumPeerConfig@135] - Reading configuration from: /home/wangzhou/Downloads/zookeeper-3.5.7/bin/../conf/zoo.cfg
2022-04-03 12:25:46,574 [myid:] - INFO  [main:QuorumPeerConfig@387] - clientPortAddress is 0.0.0.0:2181
2022-04-03 12:25:46,574 [myid:] - INFO  [main:QuorumPeerConfig@391] - secureClientPort is not set
2022-04-03 12:25:46,599 [myid:] - ERROR [main:QuorumPeerMain@89] - Invalid config, exiting abnormally
org.apache.zookeeper.server.quorum.QuorumPeerConfig$ConfigException: Address unresolved: zookeeper01:3888
        at org.apache.zookeeper.server.quorum.QuorumPeer$QuorumServer.<init>(QuorumPeer.java:261)
        at org.apache.zookeeper.server.quorum.flexible.QuorumMaj.<init>(QuorumMaj.java:89)
        at org.apache.zookeeper.server.quorum.QuorumPeerConfig.createQuorumVerifier(QuorumPeerConfig.java:597)
        at org.apache.zookeeper.server.quorum.QuorumPeerConfig.parseDynamicConfig(QuorumPeerConfig.java:630)
        at org.apache.zookeeper.server.quorum.QuorumPeerConfig.setupQuorumPeerConfig(QuorumPeerConfig.java:603)
        at org.apache.zookeeper.server.quorum.QuorumPeerConfig.parseProperties(QuorumPeerConfig.java:422)
        at org.apache.zookeeper.server.quorum.QuorumPeerConfig.parse(QuorumPeerConfig.java:152)
        at org.apache.zookeeper.server.quorum.QuorumPeerMain.initializeAndRun(QuorumPeerMain.java:113)
        at org.apache.zookeeper.server.quorum.QuorumPeerMain.main(QuorumPeerMain.java:82)
Invalid config, exiting abnormally                                                                                        

在CentOS 5和CentOS 6系统中,关于如何开启防火墙、关闭防火墙、查看防火墙运行状态,请参考以下信息,注意需要在root用户操作哦

  • 开启防火墙
service iptables start
• 1
  • 关闭防火墙
service iptables stop
• 1
  • 查看防火墙运行状态
service iptables status
• 1


终于成功了

相关实践学习
基于MSE实现微服务的全链路灰度
通过本场景的实验操作,您将了解并实现在线业务的微服务全链路灰度能力。
相关文章
|
1月前
|
分布式计算 Java Hadoop
Hadoop-30 ZooKeeper集群 JavaAPI 客户端 POM Java操作ZK 监听节点 监听数据变化 创建节点 删除节点
Hadoop-30 ZooKeeper集群 JavaAPI 客户端 POM Java操作ZK 监听节点 监听数据变化 创建节点 删除节点
61 1
|
1月前
|
分布式计算 监控 Hadoop
Hadoop-29 ZooKeeper集群 Watcher机制 工作原理 与 ZK基本命令 测试集群效果 3台公网云服务器
Hadoop-29 ZooKeeper集群 Watcher机制 工作原理 与 ZK基本命令 测试集群效果 3台公网云服务器
37 1
|
1月前
|
分布式计算 Hadoop Unix
Hadoop-28 ZooKeeper集群 ZNode简介概念和测试 数据结构与监听机制 持久性节点 持久顺序节点 事务ID Watcher机制
Hadoop-28 ZooKeeper集群 ZNode简介概念和测试 数据结构与监听机制 持久性节点 持久顺序节点 事务ID Watcher机制
41 1
|
1月前
|
分布式计算 Hadoop
Hadoop-27 ZooKeeper集群 集群配置启动 3台云服务器 myid集群 zoo.cfg多节点配置 分布式协调框架 Leader Follower Observer
Hadoop-27 ZooKeeper集群 集群配置启动 3台云服务器 myid集群 zoo.cfg多节点配置 分布式协调框架 Leader Follower Observer
45 1
|
1月前
|
存储 SQL 消息中间件
Hadoop-26 ZooKeeper集群 3台云服务器 基础概念简介与环境的配置使用 架构组成 分布式协调框架 Leader Follower Observer
Hadoop-26 ZooKeeper集群 3台云服务器 基础概念简介与环境的配置使用 架构组成 分布式协调框架 Leader Follower Observer
46 0
|
4月前
|
存储 数据库
zookeeper 集群环境搭建及集群选举及数据同步机制
zookeeper 集群环境搭建及集群选举及数据同步机制
72 2
|
3月前
|
开发工具
部署安装zookeeper集群
部署安装zookeeper集群
|
5月前
|
Java 网络安全
分布式系统详解--框架(Zookeeper-简介和集群搭建)
分布式系统详解--框架(Zookeeper-简介和集群搭建)
128 0
|
6月前
|
存储 Java 网络安全
ZooKeeper【搭建 03】apache-zookeeper-3.6.0 伪集群版(一台服务器实现三个节点的ZooKeeper集群)
【4月更文挑战第10天】ZooKeeper【搭建 03】apache-zookeeper-3.6.0 伪集群版(一台服务器实现三个节点的ZooKeeper集群)
79 1
|
6月前
|
架构师 Shell Apache
Zookeeper集群搭建
Zookeeper集群搭建