本文是我学习Hadoop搭建过程中的各种笔记,内容来自于各种公开的教程,起点非常低,从Linux基础开始,直至在PC上搭建Hadoop成功,是真正的从零开始。
感谢过程中帮助我的各位认识的和不认识的老师。
46、Rpc协议案例:
47、Zookeeper的基本概念:
1、Zookeeper是什么:
Apache ZooKeeper 网址:http://zookeeper.apache.org/
Apache ZooKeeper is an effort to develop and maintain an open-source server which enables highly reliable distributed coordination.
[ZooKeeper是Apache旗下的,它是一个努力在开发和维护一个开源的服务,我们能保证它分布式协调的高可靠——是一个分布式服务的协调服务]
1、Zookeeper能做什么:
(hdfs、yarn、hbase、double、kafka 都使用了Zookeeper的分布式主件)
管理分布式服务
(hdfs是一个分布式储存,yarn是一个分布式计算)
(Zookeeper是一个非常重要的主件,用于做分布式服务协调的,保证分布式服务更加可靠)
通过服务分布式服务的一致性、对分布式服务做协调
(协调是通过一致性做的)
强一致性:(立马更新,这边立刻能看到;Zookeeper属于强一致性)
弱一致性:(这边更新,那边要待一会能看到能看到)
最终一致性:(今天更新,明天能看到,只要最终能看到,就叫最终一致性)
2、Zookeeper的架构:
网址:http://zookeeper.apache.org/doc/current/zookeeperOver.html
ZooKeeper Service
Zookeeper集群一般需要奇数台服务器,当n/2台服务ok,则整个Zookeeper集群可用。
leader:老大,管理小弟。然后负责来自client的数据读写要求,先写到内存
fellower:小弟,负责同步数据,还会参与选举等。
所以的leader和fellower都称之为server。
快速选举机制:当leader挂机之后,快速从其余follower中
3、Zookeeper数据模型:
树形结构
每一个节点都不相同
每一个节点都可以存放数据
znode节点有四个:
普通znode:/name /name
普通序列化znode:/name00000001 /name000000002
临时znode:当session退出或者失败,则该节点消失。
临时序列化znode:
ACL: (权限列表)
c
r
w
delete
admin
watcher:事件(节点可以注册事件)删除节点、创建节点、更新节点、创建子节点等(事件具有一次性)
事务的ACID:
Atomic(原子性)
Consistency(一致性)
Isolation(隔离性)
Durability(持久性)
Zookeeper的应用:
命名空间
配置管理
集群管理