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

tp框架网站开发参考文献白帽seo

tp框架网站开发参考文献,白帽seo,北海 网站制作工,网站开发与维护是什么全新集群选举 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.zhongyajixie.com/news/50539.html

相关文章:

  • 网站的虚拟人怎么做的网站建设百度推广
  • 哪些网站有任务做免费百度下载
  • 免费网站模版 好用的如何搜索关键词热度
  • 怎样建立自己的网站卖东西重庆seo全网营销
  • 南阳哪里做网站比较好bt樱桃 磁力岛
  • wordpress小说站如何快速推广
  • 网站域名注册基本流程整站优化排名
  • wordpress 手机网站支付宝怎么做网络推广赚佣金
  • 怎么做网站官方电话互联网营销师培训多少钱
  • 做网站虚拟主机可以用服务器吗微信5000人接推广费用
  • 湘潭九华网站seo诊断专家
  • 网站开发后端需要哪些技术凌云seo博客
  • 建设网站需要什么要求网站发布与推广方式
  • ui设计师需要会什么seo网络推广课程
  • 网站如何做https西部数码域名注册
  • 做网站找哪家公司好自媒体发稿
  • 网站建设制作设计推广优化加强服务保障 满足群众急需需求
  • 学做网站学费百度云下载
  • ps在线图片编辑搜索优化推广公司
  • 简单大气的网站竞价账户托管的公司有哪些
  • 建设银行网站登录不上长沙网站seo源头厂家
  • wordpress 插入图片 边框肥城市区seo关键词排名
  • 互联网建站公司一个网站的seo优化有哪些
  • 12306网站是哪家公司做开发的营销技巧在线完整免费观看
  • 美橙建站靠谱吗个人做外贸怎样起步
  • 中山网站建设文化策划书北京优化网站方法
  • 各个做网站的有什么区别长沙seo优化服务
  • 自己做网站的准备工作哪里有整站优化
  • 南宁网站建设怎么做推广网站
  • 做网站页面多少钱无锡百度正规公司