Hadoop-HA模式概念
•主从集群:结构相对简单,主与从协作
•主:单点,数据一致好掌握
•问题:
•单点故障,集群整体不可用
•压力过大,内存受限
HDFS解决方案:
单点故障:
•高可用方案: HA(High Available)
• 多个NN,主备切换,主
压力过大,内存受限:
联帮机制: Federation(元数据分片)
• 多个NN,管理不同的元数据
•HADOOP 2.x 只支持HA的一主一备
HDFS-HA解决方案:
Namenode元数据路径:
1,cli交互操作mkdir /a
2,dn提交的block
HA:数据同步(cli的操作)
强一致性破坏可用性,总之强一致性和可用性不能同时完美存在
CAP原则:
Consistency:一致性
Availability:可用性
Partition tolerance:分区容忍性
Paxos 算法
Paxos算法是莱斯利·兰伯特于1990年提出的一种基于消息传递的一致性算法。
这个算法被认为是类似算法中最有效的。
该算法覆盖全部场景的一致性。
每种技术会根据自己技术的特征选择简化算法实现。
传递:NN之间通过一个可靠的传输技术,最终数据能同步就可以
*我们一般假设网络等因素是稳定的
*类似一种带存储能力的消息队列
HA方案:
多台NN主备模式,Active和Standby状态
Active对外提供服务
增加journalnode角色(>3台),负责同步NN的editlog
最终一致性
增加zkfc角色(与NN同台),通过zookeeper集群协调NN的主从选举和切换
事件回调机制
DN同时向NNs汇报block清单
简化思路:
分布式节点是否明确
节点权重是否明确
强一致性破坏可用性
过半通过可以中和一致性和可用性
最简单的自我协调实现:主从
主的选举:明确节点数量和权重
主从的职能:
主:增删改查
从:查询,增删改传递给主
主与从:过半数同步数据
JN无主状态,主从状态
HDFS- Federation解决方案:
NN的压力过大,内存受限问题:
元数据分治,复用DN存储
元数据访问隔离性
DN目录隔离block