当前位置: 首页 > news >正文

网站建设与维护 东博wordpress 批量导入评论

网站建设与维护 东博,wordpress 批量导入评论,杭州网站优化体验,购物网站的建立全新集群选举 zookeeper 全新集群选举机制网上资料很多说法很模糊,仔细思考了一下,应该是这样 得到票数最多的机器>机器总数半数 具体启动过程中的哪个节点成为 leader 与 zoo.cfg 中配置的节点数有关,下面以3个举例 选举过程如下 server…

全新集群选举

zookeeper 全新集群选举机制网上资料很多说法很模糊,仔细思考了一下,应该是这样

得到票数最多的机器>机器总数半数

具体启动过程中的哪个节点成为 leader 与 zoo.cfg 中配置的节点数有关,下面以3个举例

选举过程如下

  1. server1 启动,给自己投票,然后群发投票信息,由于其他 server 没有启动,所有收不到任何反馈信息,状态处于 LOOKING
  2. server2 启动,给自己投票,由于myid文件内容比server1的大,自己得票两票,机器总数半数是1.5,符合上面的规则所以胜出,server2 成为 leader,server1 成为 follower
  3. server3 启动,给自己投票,由于myid文件内容比server2的大,自己得票三票,机器总数半数是1.5,符合上面的规则,但是 leader 已经有了,所以只能成为 follower(有点委屈,有点类似于国内结婚每个男人只有一个老婆,哈哈哈)

机器总数对应在 zoo.cfg 中配置如下形式配置节点信息

server.myid文件中的id=节点ip:2888:3888

集群节点数量计算公式

y=2x+1,x为正整数,y为节点数

为什么是奇数?之前写过一篇文章

redis集群最少使用三个主节点和使用16384个槽以及主节点数量不超过1000的原因_zlpzlpzyd的博客-CSDN博客

很多说法是按照5个节点来讲的,按照公式来讲三个应该可以。

下面就来试一下

在自己的机器上安装 zookeeper

三个节点

分别为 master、node1、node2

zoo.cfg

sudo tee conf/zoo.cfg <<-'EOF'
tickTime=2000
initLimit=10
syncLimit=5
dataDir=/opt/zookeeper
clientPort=2181
server.1=master:2888:3888
server.2=node1:2888:3888
server.3=node2:2888:3888
EOF

各个节点的 zoo.cfg 文件内容一致。

master

echo 1 > /opt/zookeeper/myid

node1

echo 2 > /opt/zookeeper/myid

node2

echo 3 > /opt/zookeeper/myid

启动 zookeeper

先启动两个节点,看看情况

[root@master apache-zookeeper-3.9.0-bin]# ./bin/zkServer.sh start
ZooKeeper JMX enabled by default
Using config: /opt/apache-zookeeper-3.9.0-bin/bin/../conf/zoo.cfg
Starting zookeeper ... STARTED
[root@node1 apache-zookeeper-3.9.0-bin]# ./bin/zkServer.sh start
ZooKeeper JMX enabled by default
Using config: /opt/apache-zookeeper-3.9.0-bin/bin/../conf/zoo.cfg
Starting zookeeper ... STARTED

节点状态

[root@master apache-zookeeper-3.9.0-bin]# ./bin/zkServer.sh status
ZooKeeper JMX enabled by default
Using config: /opt/apache-zookeeper-3.9.0-bin/bin/../conf/zoo.cfg
Client port found: 2181. Client address: localhost. Client SSL: false.
Mode: follower
[root@node1 apache-zookeeper-3.9.0-bin]# ./bin/zkServer.sh status
ZooKeeper JMX enabled by default
Using config: /opt/apache-zookeeper-3.9.0-bin/bin/../conf/zoo.cfg
Client port found: 2181. Client address: localhost. Client SSL: false.
Mode: leader

配置了三个节点,只启动了两个节点的情况下,正常选举,符合想法。说明3个节点中有两个节点启动就可以完成选举流程。

下面再启动 node2

[root@node2 apache-zookeeper-3.9.0-bin]# ./bin/zkServer.sh start
ZooKeeper JMX enabled by default
Using config: /opt/apache-zookeeper-3.9.0-bin/bin/../conf/zoo.cfg
Starting zookeeper ... STARTED
[root@node2 apache-zookeeper-3.9.0-bin]# ./bin/zkServer.sh status
ZooKeeper JMX enabled by default
Using config: /opt/apache-zookeeper-3.9.0-bin/bin/../conf/zoo.cfg
Client port found: 2181. Client address: localhost. Client SSL: false.
Mode: follower

符合上面的推测

突发奇想,两个节点会是什么情况?

个人猜测,跟上面两个节点启动一致。

两个节点

分别为 master、node1

zoo.cfg

sudo tee conf/zoo.cfg <<-'EOF'
tickTime=2000
initLimit=10
syncLimit=5
dataDir=/opt/zookeeper
clientPort=2181
server.1=master:2888:3888
server.2=node1:2888:3888
server.3=node2:2888:3888
EOF

各个节点的 zoo.cfg 文件内容一致。

启动 zookeeper

[root@master apache-zookeeper-3.9.0-bin]# ./bin/zkServer.sh start
ZooKeeper JMX enabled by default
Using config: /opt/apache-zookeeper-3.9.0-bin/bin/../conf/zoo.cfg
Starting zookeeper ... STARTED
[root@node1 apache-zookeeper-3.9.0-bin]# ./bin/zkServer.sh start
ZooKeeper JMX enabled by default
Using config: /opt/apache-zookeeper-3.9.0-bin/bin/../conf/zoo.cfg
Starting zookeeper ... STARTED

节点状态

[root@master apache-zookeeper-3.9.0-bin]# ./bin/zkServer.sh status
ZooKeeper JMX enabled by default
Using config: /opt/apache-zookeeper-3.9.0-bin/bin/../conf/zoo.cfg
Client port found: 2181. Client address: localhost. Client SSL: false.
Mode: follower
[root@node1 apache-zookeeper-3.9.0-bin]# ./bin/zkServer.sh status
ZooKeeper JMX enabled by default
Using config: /opt/apache-zookeeper-3.9.0-bin/bin/../conf/zoo.cfg
Client port found: 2181. Client address: localhost. Client SSL: false.
Mode: leader

最终结果如上面猜测。

为什么最少三个节点?

去看一下官方文档

ZooKeeper: Because Coordinating Distributed Systems is a Zoo

For replicated mode, a minimum of three servers are required, and it is strongly recommended that you have an odd number of servers. If you only have two servers, then you are in a situation where if one of them fails, there are not enough machines to form a majority quorum. Two servers are inherently less stable than a single server, because there are two single points of failure.

对于集群节点,最少的 server 数量是三个, 强烈建议是奇数。如果是两个 server,当其中一个节点有故障,没有足够的机器进行优先级处理。

符合上面的最少三个节点的理论。

非全新集群选举

http://www.yayakq.cn/news/997698/

相关文章:

  • 周杰伦做的广告网站什么是网络营销名词解释
  • 网站建设与制作教程北华大学网页设计策划
  • 请人建网站东阳市建设局网站
  • 如何查看一个网站是用什么cms做的电商网站设计价格
  • 不同网站的主机和域名wordpress 文章 字体
  • 网站建设售后服务承诺长春专业企业网站建设工作室
  • 网站设计制作的服务机构seo网站优化对象
  • 郑州营销型网站制作运营wordpress 自动锚文本
  • 昆明展示型网站开发重庆永川网站建设
  • 手机网站建设效果惠头条自媒体平台
  • 做易购网站重庆网站建设公司价钱
  • 企业为什么做网站系统个人博客网站logo
  • 河南做网站公司汉狮wordpress python采集
  • 提高网站粘性山东网站建设
  • 做一个网站需要多少钱 怎么做长沙谷歌优化
  • 山东平台网站建设多少钱wordpress新闻抓取插件
  • 济南市建设网站wordpress上传媒体
  • 长春专业网站建设模板代理石家庄seo网站优化电话
  • 北京网站建设公司动感姜堰住房和城乡建设厅网站首页
  • 电子商务网站开发毕业设计全屏幕网站模板
  • dedecms网站别名建立自己网站
  • 合肥网站定制公司网站如何建设二级域名代理
  • 银饰品网站建设规划策划书莆田企业网站建设
  • 网站开发需要有什么证书建设网站企业排行
  • 怎样做办公用品销售网站贵阳市观山湖区建设局网站
  • 网站建设哪家专业公司好wordpress软件网站模板下载
  • 佛山做网站yunzhanfswordpress app 打包
  • 中国制造网外贸站个人微博网页制作代码教程
  • 建设银行的网站用户名是什么网站首页排名下降
  • 旅游网站建设ppt中国建设行业网