查看“ZooKeeper 集群”的源代码
←
ZooKeeper 集群
跳到导航
跳到搜索
因为以下原因,您没有权限编辑本页:
您所请求的操作仅限于该用户组的用户使用:
用户
您可以查看和复制此页面的源代码。
=== ZooKeeper 集群的特点 === 有主从之分 ZooKeeper 集群中必须有 master 节点,否则 ZooKeeper 无法正常工作 master:执行读写操作 slave:执行读操作 ZooKeeper 集群的投票机制,在没有 master 节点时,会重新选举 ===ZooKeeper 集群架构图=== [[文件:ZooKeeper 集群架构图.png|无|缩略图|900x900像素]] ===ZooKeeper 集群中节点的角色=== 1、Leader:Master 主节点 2、Follower:从节点,参与选举全新的 Leader 3、Observer:从节点,不参与投票 4、Looking:正在找 Leader 节点的节点 === ZooKeeper 投票策略 === 1、每一个 ZooKeeper 服务都会被分配一个全局唯一的 myid,myid 是一个数字。 2、ZooKeeper 在执行写数据时,每一个节点都有一个自己的 FIFO 的队列。保证写每一个数据的时候,顺序是不会乱的,ZooKeeper 还会给每一个数据分配一个全局唯一的 zxid,数据越新 zxid 越大。 选举 Leader: 1、选举出 zxid 最大的节点作为 Leader。 2、在 zxid 相同的节点中,选举出一个 myid 最大的节点,作为 Leader。 === 搭建 ZooKeeper 集群 === <syntaxhighlight lang="yaml"> version: "3.1" services: zk1: image: zookeeper restart: always container_name: zk1 port: - 2181:2182 environment: ZOO_MY_ID: 1 ZOO_SERVICES: server.1=zk1:2888:3888;2181 server.2=zk2:2888:3888;2181 server.3=zk3:2888:3888;2181 zk2: image: zookeeper restart: always container_name: zk2 port: - 2181:2182 environment: ZOO_MY_ID: 2 ZOO_SERVICES: server.1=zk1:2888:3888;2181 server.2=zk2:2888:3888;2181 server.3=zk3:2888:3888;2181 zk3: image: zookeeper restart: always container_name: zk3 port: - 2181:2182 environment: ZOO_MY_ID: 3 ZOO_SERVICES: server.1=zk1:2888:3888;2181 server.2=zk2:2888:3888;2181 server.3=zk3:2888:3888;2181 </syntaxhighlight>
返回至
ZooKeeper 集群
。
导航菜单
个人工具
登录
名字空间
页面
讨论
变种
视图
阅读
查看源代码
查看历史
更多
搜索
导航
首页
Spring Boot 2 零基础入门
Spring Cloud
Spring Boot
设计模式之禅
VUE
Vuex
Maven
算法
技能树
Wireshark
IntelliJ IDEA
ElasticSearch
VirtualBox
软考
正则表达式
程序员精讲
软件设计师精讲
初级程序员 历年真题
C
SQL
Java
FFmpeg
Redis
Kafka
MySQL
Spring
Docker
JMeter
Apache
Linux
Windows
Git
ZooKeeper
设计模式
Python
MyBatis
软件
数学
PHP
IntelliJ IDEA
CS基础知识
网络
项目
未分类
MediaWiki
镜像
问题
健身
国债
英语
烹饪
常见术语
MediaWiki帮助
工具
链入页面
相关更改
特殊页面
页面信息