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

news2024/11/20 20:20:25

服务器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个服务器节点为例):

配置伪分布式分布式
clienPort2181;2182;21832181;2181;2181
server.1127.0.0.1:2888:3888xxx.xxx.xxx.xxx:2888:3888
server.2127.0.0.1:2889:3889xxx.xxx.xxx.xxx:2888:3888
server.3127.0.0.1:2890:3890xxx.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

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/10696.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

进博会期间,多地政府领导密集考察深兰科技

从11月初开始,借第五届中国国际进口博览会在上海举办的契机,来自全国各地的地级、县级市的各级领导纷纷来到上海,深入到各个行业领域的国企、央企、民企和跨国企业中走访调研,寻求技术合作,洽谈招商引资。 期间仅1日至…

流体力学基础——简介

流体定义:无规则的运动,流体;流体在静止时内部不能产生剪切力,流动产生的剪切力叫做粘力流体特点: 1、力与变形的关系不同;固体,应力正比于应变,静力学为主;流体&#xf…

DeepLearn关于数组和数的操作

本篇文章纯属作为自己的笔记,因为每次写程序都忘记下面的内容,找起来又很浪费时间,所有就索性一次性都整理下来,后续又不新的不会的内弄也会及时更新到文章当中,方便以后查阅。 DeepLearn关于数组和数的操作Python标准…

【详解】BIO、AIO、NIO Netty 知识点和工作原理

Netty框架 基础 三大网络编程 BIO 同步阻塞:服务器实现模式一个连接一个线程,既客户端有连接请求时,服务器就需要启动一个线程进行处理,如果这个连接不任何事情会造成不必要的线程线程开销 适用场景: 连接数目比较小且固定的架构,这种方式对服务器资源…

Android企业微信分享到小程序

1.官方文档Android应用 - 接口文档 - 企业微信开发者中心https://developer.work.weixin.qq.com/document/path/91196 2.创建应用 登录企业微信管理后台,选择企业应用,选择“企业微信授权登录”,在设置界面填写Android的 App的签名&包名…

[附源码]java毕业设计基于技术的新电商助农平台

项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: SSM mybatis Maven Vue 等等组成,B/S模式 M…

HTTP 消息头

title: HTTP 消息头 date: 2022-11-16 14:36 tags: [HTTP,X-Real-IP,Host,X-Forwarded-For,Nginx] 文章目录〇、问题一、前言二、什么是消息头?三、Host四、X-Real-IP五、X-Forwarded-For参考更新〇、问题 什么是HTTP Headers?作用是什么? …

qemu-system-aarch64使用记录

qemu-system-aarch64 使用记录下载安装qemu查看是否支持KVM运行qemu-M内核启动问题内核编译下载安装qemu #!/bin/bashsudo apt update > /dev/null sudo apt upgrade > /dev/null sudo apt-get install -y make gcc g git > /dev/nullcd sudo apt-get install -y r…

一起来庆祝属于GISer的节日GIS DAY

概述 作为一名GISer的你,有没有想过其实我们GISer也有自己的节日?这个节日便是GIS DAY,今年的GIS DAY恰在今天(2022年11月16日)。究竟什么是GIS DAY?这里为大家介绍一下这个节日。 什么是GIS DAY GIS DA…

Python学习----异常、模块、安装第三方包

异常 异常的含义就不用解释了 打开一个不存在的文件: 异常的捕获 语法: 捕获所有异常 try:可能发生错误的代码 except:发生错误之后执行的代码try:可能发生错误的代码 except Exception as e:发生错误之后执行的代码两种写法都行 捕获指定异常&…

【maptplotlib大全图】一段代码洞查matplotlib图片真谛

此文通过给大家设计一个全面的代码,帮助大家了解matplotlib库画图的全貌 代码解读,略。 图示解读: 对照上图序号和下面序号看代码解释: 1.应用风格使用代码:plt.style.use(sty) 2.文本注释 plt.annotate(‘maximum…

QSS(Qt样式表)概念

Qt样式表是一个可以自定义部件外观的十分强大的机制,除了QStyle更改的样式,其他的都可以由QSS修改。由于受到Html的CSS启发,所以叫QSS。 代码添加样式表ui界面上添加样式表代码添加样式表: setStyleSheet(&#xff09…

Beacon帧

一、简介 Beacon帧是802.11中一个周期性的帧,每隔一段时间就会向外界发出一个Beacon(信标)信号用来宣布自己802.11网络的存在。Beacon周期调高,对应睡眠周期拉长,故节能(即越来休息100ms再起来发一个包,现在休息200ms…

python学习思路

话不多说,就是开始练习,因为之前编程的经验比较少,怎么办,就像马化腾一样,先抄袭,只有抄袭完成了之后,你才会获得你自己的知识 总体思路是先抄袭,再领悟。最后一定要自己默写打一次。…

电子统计台账:垂直流水账格式数据的导入

目录 1 前言 2 新建项目并打开数据源文件 3 模板设置 4 垂直过滤模板中,流水账过滤条件详细格式说明 1 前言 不少企业记录生产销售数据采用流水账格式。我们可以通过设置过滤模板来导入流水账格式的数据。 企业数据源文件,用excel打开后可以看到格式…

API安全防护解决方案

究竟什么是API 常规定义下,API是应用程序接口(Application Programming Interface)的简称,其含义比较宽泛,泛指一组定义、程序及协议的集合。随着技术领域的细分和前后端分离架构模式的推广,App应用、小程…

Java文件操作

文章目录1、文件的基本概念2、java文件操作2.1 File概述2.2 InputStream 和 FileInputStream2.3 OutputStream 和 OutputStreamWriter1、文件的基本概念 平时说的文件一般都是指存储在硬盘上的普通文件,形如txt,jpg,mp4,rar等这些…

Mybatis源码详解

Mybatis源码详解一、JDBC与Mybatis对比JDBC调用Mybatis调用两者对比二、Mybatis资源加载数据源获取SqlSessionFactoryBuilder.buildXMLConfigBuilder.parseXMLConfigBuilder.environmentsElementSQL语句获取1.入口2.两种方式3.XML方式获取SQL3.1 XMLMapperBuilder.parse()3.2 X…

【小白学YOLO】YOLOv3网络结构细致解析

摘要:本文将详细介绍Yolov3的网络结构相关内容。Yolov3 网络结构 在博客“Yolo发展历史及网络结构”中我们已经详细的解释了Yolov1的网络结构,并简要的提到了Yolov2与Yolov3对于网络结构的改进,本篇博客将详细介绍Yolov3的网络结构&#xff…

骑行耳机哪个品牌好,推荐五款最适合骑行佩戴的五款耳机

运动训练是一件非常单调的事情,尤其是你从事的运动节奏感比较强的时候,自身的呼吸频率也会随之加快,调节不过来的时候就很容易呼吸错乱导致运动大幅度下降,这时可以选择一些同当前运动节奏相符的音乐,让音乐在运动的全…