hadoop集群问题

hadoop集群是主从的

  • 优点:
    主从集群:结构相对简单,主语从写作
    主:单点,数据一致好掌握

  • 问题:(主从通病)
    单点故障,集群整体不可用
    压力过大,内存受限

解决方案

  • 单点故障
    HA high available 高可用
    多个NN,主备切换,主

  • 压力过大,内存受限:
    联邦机制:Federation (元数据分片)
    多个NN,管理不同元数据

  • hadoop 2.x只支持HA的一主一备

HDFS-HA

解决单点故障问题

CAP原则

通过可靠的中间件,最求最终一致性。

基于消息传递的一致性算法Paxos

简化思路:
分布式节点是否明确
节点权重是否明确

强一致性破坏可用性
过半通过可以中和一致性和可用性
最简单的自我协调实现:主从

主的选举:明确节点数量和权重
主从的职能:
主:增删改查
从:查询,增删改传递给主
主与从:过半数同步数据

我们一般假设网络等因素是稳定的

HA方案总结:

  • 多台NN主备模式,Active和Standby状态

  • Active对外提供服务

  • 增加journalnode角色(>3台),负责同步NN的editlog
    最终一致性

  • 增加zkfc角色(与NN同台),通过zookeeper集群协调NN的主从选举和切换
    事件回调机制

  • DN同时向NNs汇报block清单

HDFS-Federation

解决压力过大,内存受限问题

  • 元数据分治,复用DN存储

  • 元数据访问隔离性

  • DN目录隔离block

Scroll to Top