利用QJM和zookeeper实现HDFS高可用

为防止单点故障,在hadoop2.X中通常由两个NameNode组成,一个处于active状态(皇帝),另一个处于standby状态(太子)。Active NameNode负责和客户端的交流,而Standby NameNode则不对外提供服务,仅同步active namenode的状态,以便能够在它失败时快速进行切换。

那么ActiveNameNode挂了怎么办?

这两台NameNode是以第三方的文件系统QJM为中介实现通信,Active NameNode做了什么会记录在edits文件中,镜像文件fsimage会进行备份,如果这两个文件储存在Active NameNode里,那么这台机器挂了之后,Standby NameNode即使接手也会导致数据丢失,所以edits文件被复制储存在第三方的文件系统中(不需要Secondary NameNode来合并文件了),而Standby NameNode定时与QJM通信,同步edits与fsimage文件。这样即使ActiveNameNode挂了,Standby NameNode也会完美接手他的工作。

QJM中journalnode挂了怎么办?

journalnode负责Active NameNode  edits文件和fsimage文件的储存,并把文件定时发送给Standby NameNode,若挂掉会导致瘫痪,所以我们多用几台journalnode以构成集群,并用zookeeper负责协调

如果ActiveNameNode假死怎么办?

ActiveNameNode和Standy NameNode身边都有一个zkfc(太监),皇帝身边的太监负责在zookeeper中注册监听器。如果皇帝死掉(假死),太子身边的太监将信息传递给太子,太子随即将standby状态切换为active(登基),但是皇帝是假死,所以出现了两个皇帝,这时客户端不知道该和谁交流,就会导致brain split(脑裂)。

脑裂怎么办?

新皇帝身边的太监首先会向老皇帝行凶(发送命令:ssh kill-9 namenode),如果没有成功,则会通知调用用户自定义脚本kill.sh,脚本执行后会返回一个状态码,0表示成功。

 

 

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
安装高可用(High Availability, HA)的Hadoop集群是一个复杂的过程,涉及到多个步骤和配置。以下是安装高可用Hadoop的基本步骤,通常用于Apache Hadoop 2.x或更高版本: 1. **环境准备**: - 操作系统支持(如Ubuntu、CentOS等) - Java Development Kit (JDK) 安装 - SSH无密码登录配置 - 配置网络,包括内网和外部访问 2. **安装基础组件**: - **Hadoop**: 使用Hadoop的发行版,比如Cloudera Manager或HDP,它们包含了HDFS和YARN等组件的安装包。 3. **配置HDFS**: - 配置NameNode HA:在`core-site.xml`中启用HA模式,创建至少两个NameNode实例。 - 启用Quorum Journal Node (QJM) 和 Federation,用于故障转移。 - 在`hdfs-site.xml`中配置文件副本数和复制策略。 4. **配置ResourceManager**: - 启用ResourceManager HA,设置ResourceManager的地址。 - 配置ResourceManager Federation,如果使用的是Hadoop 2.8及以上版本。 5. **配置ZooKeeper**: - 如果没有集成,需要单独安装ZooKeeper作为Hadoop的分布式协调服务。 - 配置Hadoop集群依赖的ZooKeeper服务地址。 6. **启动集群**: - 逐个启动各节点的服务,按照角色(NameNode、DataNode、Secondary NameNode、ResourceManager、NodeManager等)和HA配置启动相应的备份实例。 7. **验证配置**: - 使用Hadoop的命令行工具(如`hadoop fsadmin`)检查集群状态,确保所有服务正常运行。 - 检查日志文件,确认没有错误信息。 8. **安全性和权限**: - 配置Kerberos认证,为安全集群添加额外的安全层。 - 设置适当的HDFS和YARN用户及其权限。 9. **监控和故障恢复**: - 使用Hadoop提供的监控工具(如Hadoop Metrics2、Ambari等)监控集群健康。 - 制定故障恢复计划,并进行定期演练。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值