一、集群五种安装模式
1. 单机
2. 伪分布式
3. 完全分布式
一个主节点,一个冷备份节点
存在单点故障问题
4. 高可用
多个主节点,多个从节点,从一时刻只有一个active主节点提供服务,主节点仍然是一台机器的性能,主节点压力过大。
5. 联邦
块池:联邦模式中标志数据块的管理权限
同一时间多个主节点提供服务,多个namenode依赖于块池id区分数据归属
多个namenode共同管理集群中的所有datanode。每个namenode只负责管理datanode上自己块池的数据
二、HA集群
想要做到active和standby随时切换,需要解决两个问题。
1)active和standby的元数据信息近实时一致
2)standby可以感知active的上下线
1. active和standby的元数据信息近实时一致
元数据信息在第三方存储一份,Quorum Journal Manager qjm。类似于zookeeper,但节点存储性能更高。journalnode存储edits文件,standby对edits文件添加监听,发生变化时拉取过来。fsimage在集群格式化时cp到standby即可(fsimage用于集群启动时加载元数据到内存,集群启动后只作为磁盘备份)。
2. standby感知active的上下线
zkfc: 对namenode进行健康监控。每个namenode都启动一个zkfc进程,zkfc会将namenode的状态上传到zookeeper,当active掉线时,standby的zkfc向active发送kill / init 0避免脑裂后切换到active