首页 > 编程知识 正文

集群路由器,分布式 集群

时间:2023-05-05 00:55:45 阅读:150181 作者:4146

Zookeeper集群角色Leader :领导者,一个Zookeeper集群一次只能有一个Leader,Leader服务器是整个Zookeeper集群作业体系的核心,其主要工作是:

事务请求的唯一调度和处理者。 保证集群事务的顺序性。 Zookeeper上的所有事务操作都由leader服务器处理。 集群内部服务器的调用方。 接受所有Follower的提案请求,统一协调开始提案投票,负责与所有Follower的内部数据交换(同步)。 Follower :跟随者,主要工作:

处理客户端非事务性请求并将事务性请求转发给Leader服务器。 参加事务请求的同时提交投票。 同时与Leader进行数据交换(同步)。 参加Leader选举投票。 观察器:观察者,从Zookeeper3.3.0引入的新服务器角色。 该服务器充当观察者,观察Zookeeper群集的最新状态变化并同步这些状态更改。 观察器服务器的工作方式与Follower大致相同,可以直接独立处理非事务请求,但事务请求会转发给Leader服务器进行处理。 与Follower的唯一区别在于,观察器不参与任何形式的投票,包括事务请求提交投票和Leader选举投票。 只需观察集群的状态变化,使变化同步即可。

观察器不是Zookeeper的重要部分,通常用于在不影响集群事务处理能力的情况下提高非事务处理能力。 这意味着在不影响集群写入性能的情况下提高集群读取性能。 因为使用Follower可以提高集群的读取性能,但也会降低集群事务的写入性能。 因为过多的Follower会在事务投票同步进程和Leader选举进程中浪费时间。 因为通信、投票的机会增加了。 观察器不参加任何形式的投票,只是进行读取操作。 因此,无论如何增加观察器都不会影响集群的写入性能,反而可以提高集群的读取性能。 但是,如果观察器过多,Follower过少,则会降低系统的可用性。

如果Zookeeper群集中一半以上的计算机正常运行,则群集对外提供的服务将可用。 假设有1个Leader、100个Follower,则即使50台机器停机,集群也可以直接使用。 现在,如果使用1个Leader1、10个Follower10和1个观察器,则只要群集中有5台以上的计算机停止运行,群集就无法使用,至少无法处理事务请求。 因为事务投票需要一半以上的同意,但可用的leader和follower只有一半以下。

集群构建构建集群时,一般需要了解独立环境的构建https://blog.csdn.net/QQ _ 40837310/article/details/106792984

环境:

模拟五台虚拟机: 192.168.18.130、192.168.18.131、192.168.18.132、192.168.18.133、192.168.138 Leader台、Follower台、观察器1台(192.168.18.134 )。 Leader是通过选举选出的,观察器是指定的。

第一步:修改配置文件:

server.1=192.168.18.1303360218233602183 server.2=192.168.183 server.1313360218233602183 server.3=192.168.168。 21823360218336021833602183:观察器语法: server.id=host :端口13360端口2

服务器固定。 (id )集群中节点的唯一标志是整形数字。 host :既可以是IP,也可以是IP的映射。 port1)集群中进行leader选举的端口号。 port2:集群内的服务器进行通信的端口。 必须对群集中每个节点的zoo.cfg配置文件进行此更改。 这种更改就像通信记录,群集中的每个节点都可以彼此知道其他节点的存在。

集群中的一台服务器需要3个端口、连接客户端的端口、集群中进行leader选举的端口、集群中的服务器进行通信的端口。

将节点指定为观察器:

在观察器节点上设置的配置文件添加配置peer type=观察器在server.id=host : port 13360 port 2之后添加观察器。 例如,server.5=192.168.18.13433666

在Zookeeper服务器dataDir中创建myid文件。 该文件的内容是此集群服务器的唯一id,并且是在上面的配置文件中配置的server.id中的id。 例如,192.168.18.131服务器的id为2,192.168.18.132的id为3。

启动步骤Zookeeper

像独立环境一样启动就可以了。 前提是服务器配置Zookeeper的那三个端口是对外开放的。

验证:

启动成功了。 是文件夹节点。

启动成功了。 leader节点。

启动成功了。 是观察器。 如果还有其他几个服务器的话就不贴了。

使用这三个角色分别添加节点和显示节点。

Leader :

追随者

观察器:

三个群集角色可以添加节点(事务操作),因为Follower和观察器将事务操作转发给Leader,而实际上只有Leader进行事务处理。 其他节点能够获取添加的节点,表示Zookeeper的各节点将进行事务提交和数据同步。 通过javaAPI进行群集连接:与群集的连接类似于独立连接,但连接的地址由多个逗号分隔。 其他操作与单体操作基本一致。

独立的java API操作

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。