hadoop集群问题
hadoop集群是主从的
- 优点:
主从集群:结构相对简单,主语从写作
主:单点,数据一致好掌握 问题:(主从通病)
单点故障,集群整体不可用
压力过大,内存受限
解决方案
单点故障
HA high available 高可用
多个NN,主备切换,主压力过大,内存受限:
联邦机制:Federation (元数据分片)
多个NN,管理不同元数据hadoop 2.x只支持HA的一主一备
HDFS-HA
解决单点故障问题
通过可靠的中间件,最求最终一致性。
基于消息传递的一致性算法Paxos
简化思路:
分布式节点是否明确
节点权重是否明确
强一致性破坏可用性
过半通过可以中和一致性和可用性
最简单的自我协调实现:主从
主的选举:明确节点数量和权重
主从的职能:
主:增删改查
从:查询,增删改传递给主
主与从:过半数同步数据
我们一般假设网络等因素是稳定的
HA方案总结:
- 多台NN主备模式,Active和Standby状态
Active对外提供服务
增加journalnode角色(>3台),负责同步NN的editlog
最终一致性增加zkfc角色(与NN同台),通过zookeeper集群协调NN的主从选举和切换
事件回调机制DN同时向NNs汇报block清单
HDFS-Federation
解决压力过大,内存受限问题
- 元数据分治,复用DN存储
元数据访问隔离性
DN目录隔离block