Mainly used to record Java, DBMS, HDFS... related learning notes
简介
单机和分布式的问题
单机 问题
地址内存不一致 (加锁) 单机出问题概率低
分布式问题
一致性问题
容灾容错
执行顺序问题
事务性问题
zookeeper 解决的问题
主节点高可用问题 主节点切换
配置文件的分发和启用 多服务器集群
分布式锁的问题
集群状态的监控
zookeeper 节点数
ZooKeeper集合中的节点 让我们分析在ZooKeeper集合中拥有不同数量的节点的效果。
单点不建议
如果我们有单个节点,则当该节点故障时,ZooKeeper集合将故障。它有助于“单点故障”,不建议在生产环境中使用。
两个节点和单点一样,一个当掉另外一个也不能使用
如果我们有两个节点而一个节点故障,我们没有占多数,因为两个中的一个不是多数。
生产中最少三个节点
如果我们有三个节点而一个节点故障,那么我们有大多数,因此,这是最低要求。ZooKeeper集合在实际生产环境中必须至少有三个节点。
如果我们有四个节点而两个节点故障,它将再次故障。类似于有三个节点,额外节点不用于任何目的,因此,最好添加奇数的节点,例如3,5,7。
zookeeper的角色
| 角色 | 说明 | |
|---|---|---|
| 领导者(leader) | - 事务请求的唯一调度和处理者,保证集群事务处理的顺序性; - 集群内部各服务器的调度者。 |
|
| follower(追随者) | - 处理客户端非事务性请求(读取数据),转发事务请求给Leader服务器。 - 参与事务请求Proposal的投票。 - 参与Leader选举投票。 |
|
| Observer(观察者) | Observer充当观察者角色,观察Zookeeper集群的最新状态变化并将这些状态同步过来; 其对于非事务请求可以进行独立处理; 对于事务请求,则会转发给Leader服务器进行处理; Observer不会参与任何形式的投票,包括事务请求Proposal的投票和Leader选举投票; |
zookeeper 选举