HDAS HA 高可用

HDFS高可用

一、高可用存在背景

在Hadoop2.x之前,HDFS集群中只有一个NameNode节点,而NameNode节点可能会发生单点故障,一旦NameNode节点发生单点故障,整个集群都将处于不可用状态。或者当NameNode节点所属的机器进行软件或硬件升级时,同样会造成整个集群处于不可用状态。
为了解决上述问题,所以出现了HDFS高可用特性。

二、高可用架构

在一个典型的高可用集群中,两个或更多的独立的节点被配置成NameNode。当一个NameNode处于活跃状态,其他的NameNode都处于待机状态。活跃状态的NameNode负责处理客户端的请求等操作,待机节点只保持待机状态,当活跃的NameNode发生故障的时候,待机节点迅速变成活跃状态,提供故障转移。保证集群正常运行。
由一组专门的JournalNodes(JNS)负责所有集群的通信,用来保持待机节点与活跃节点的信息同步。当活跃节点的系统命名空间出现改动时,由JNS来记录这些修改。待机节点会不断地监控JNS的edits日志,并读取。当待机节点读取了JNS的edits之后,会把edits更新到自己的命名空间。当活跃节点发生故障时,备用节点会确保在变成活跃节点之前已经把所有的JNS的信息同步完成。这样,在故障转移时,可以确保备用节点和活动节点的命名空间完全同步。
为了进行快速的故障转移,所以当备用节点转换成活动节点时,不仅要命名空间完全同步,还需要有各个数据块的位置信息,所以,在非故障情况下也就是平时,各个数据节点也要配置所有的NameNode的位置,各个数据节点也需要向活跃节点和备用节点都发送块位置信息和心跳。
一个集群中只可以有一个NameNode处于活跃状态。如果一旦有多个NameNode处于活跃状态,那么两个节点上的命名空间会迅速的产生差异,造成数据块丢失或其他错误。为了防止这种情况(脑裂)的发生,NJS同一时间只允许一个NameNode写edits。

三、部署

在CDH集群里,高可用的配置十分方便。
1.点击HDFS>操作>启动High Availability.
在这里插入图片描述
2.填写自定义名称
在这里插入图片描述
3.分配角色
在这里插入图片描述
4.在每台JN节点上创建目录,用来存放日志。
在这里插入图片描述
更改/data0/jn的所属主与属组(所有节点)
在这里插入图片描述
在这里插入图片描述
5.启动High Availability
在这里插入图片描述
在这里插入图片描述
两个NameNode,配置完成
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值