0


第2关:伪分布式体验及分布式安装配置

服务器leader选举

为进一步了解ZooKeeper的

leader

选举过程,本节实训利用服务器的关闭启动,观察服务器的

leader

产生过程。利用以下命令查看当前服务器节点的状态(

/xxx

为安装目录):

./xxx/bin/zkServer.sh status

当仅启动

1

个服务器节点,服务器状态如下:

服务器通信报错,集群未运行(

3

个节点,法定人数至少为

2

)。

当启动第

2

个节点后,分别查看第

1

个和第

2

个服务器状态:

可以发现,第

1

个服务器转换为

follower

,第

2

个服务器转换为

leader

(可对比上一关启动时

leader

选举过程)。

当启动第

3

个节点后,由于已经存在了

leader

,那么第

3

个节点应该为

follower

,查看状态如下:

此时,关闭第

2

个节点,即模拟

leader

崩溃。那么按照上一关所述,

myid

较大的节点成为

leader

,即第

3

个节点成为

leader

,关闭第

2

个节点并查看第

3

个节点状态:

客户端连接服务器

客户端连接多个服务器与连接单个服务器命令相同,使用以下命令连接:

zkCli.sh -server 127.0.0.1:2181,127.0.0.1:2182,127.0.0.1:2183

其中,每

1

个逗号为

1

个服务器(

IP + clientPort

)。

可以通过启动命令行,看到当前客户端具体连接到哪一个服务器。如下图所示:

如果连接的

127.0.0.1:2181

服务器节点(即第

1

个服务器节点)崩溃,是否会拒绝连接。关闭第

1

个服务器节点,观察客户端行为:

可以发现,当前连接的服务器崩溃或失去连接时,客户端会自动连接及其中其他服务器,从而保证ZooKeeper服务可用。

当继续关闭第

127.0.0.1:2182

服务器节点(即第

2

个服务器节点),是否会拒绝连接。关闭第

2

个服务器节点,观察客户端行为:

当存活服务器小于法定人数时,服务器会拒绝连接,即使当前第

3

个节点仍然存活。

分布式配置

分布式配置与伪分布式配置,主要有以下区别,其余配置均相同:

  • 伪分布式所使用的端口必须不同,分布式端口可以相同。
  • 伪分布式统一使用一个IP,分布式需要根据当前网络IP配置。

以下为分布式与伪分布式配置对比(以

3

个服务器节点为例):
配置伪分布式分布式

clienPort
2181;2182;2183
2181;2181;2181
server.1
127.0.0.1:2888:3888
xxx.xxx.xxx.xxx:2888:3888
server.2
127.0.0.1:2889:3889
xxx.xxx.xxx.xxx:2888:3888
server.3
127.0.0.1:2890:3890
xxx.xxx.xxx.xxx:2888:3888

编程要求

本关任务是使用命令行,按顺序完成以下操作:

  • 在前一关的基础上,将客户端连接服务器(IP:127.0.0.1,端口分别为218121822183)。
  • 观察当前客户端连接的服务器。
  • 创建/quorum_test节点,节点数据为quorum_test
  • 断开客户端与服务器连接(quit命令)。

第一关操作成功基础上操作

启动节点

/opt/zookeeper-3.4.12/bin/zkServer.sh start
/opt/zookeeper-3.4.12-01/bin/zkServer.sh start
/opt/zookeeper-3.4.12-02/bin/zkServer.sh start
/opt/zookeeper-3.4.12-03/bin/zkServer.sh start

客户端连接服务器
zkCli.sh -server 127.0.0.1:2181
创建节点
create /quorum_test "quorum_test"
关闭节点
quit

zkCli.sh -server 127.0.0.1:2182
create /quorum_test "quorum_test"
quit

zkCli.sh -server 127.0.0.1:2183
create /quorum_test "quorum_test"
quit


本文转载自: https://blog.csdn.net/qq_61604164/article/details/127886191
版权归原作者 是草莓熊吖 所有, 如有侵权,请联系我们删除。

“第2关:伪分布式体验及分布式安装配置”的评论:

还没有评论