一种管理Hadoop命名空间的高可用方法技术

技术编号:20119314 阅读:58 留言:0更新日期:2019-01-16 12:20
本发明专利技术公开一种管理Hadoop命名空间的高可用方法。所述方法采用NFS作为主名字节点和备用名字节点之间的共享存储,在主、备用名字节点和NFS服务器之间设置多个网络连接,一方面均衡网络负载,另一方面增加网络容错能力;在NFS中对于主名字节点要存储的edits文件,进行适度的冗余存储,以增加数据的容错和抗毁能力。本发明专利技术所述方法结合了Hadoop官方推荐的NFS实现方式和QJM实现方式的优点,克服了各自的缺点,为Hadoop系统增加了高可用性,同时也降低了存储开销。

A High Availability Method for Managing Hadoop Namespaces

The invention discloses a highly available method for managing Hadoop namespaces. The method uses NFS as the shared storage between the primary name node and the standby name node, and sets up multiple network connections between the primary name node, the standby name node and the NFS server. On the one hand, it balances the network load, on the other hand, it increases the network fault-tolerant ability; on the other hand, in NFS, the edits files to be stored by the primary name node are stored in moderate redundancy to increase the fault-tolerance and resistance of data. Destroy ability. The method combines the advantages of the NFS implementation method and QJM implementation method officially recommended by Hadoop, overcomes their respective shortcomings, increases high availability for Hadoop system, and reduces storage overhead.

【技术实现步骤摘要】
一种管理Hadoop命名空间的高可用方法
本专利技术属于计算机应用和大数据处理平台
,具体涉及一种管理Hadoop命名空间的高可用方法。
技术介绍
在hadoop2.0之前,Namenode只有一个,存在单点问题,虽然hadoop1.0有SecondaryNamenode、Checkpointnode,Buckcupnode这些设置,但是单点问题依然存在。在hadoop2.0中引入了高可用(HighAvailable,HA)机制。hadoop2.0的官方资料介绍了2种实现HA机制的方式,一种是NFS(NetworkFileSystem)方式,另外一种是QJM(QuorumJournalManager)方式。Hadoop2.0的HA机制中有两个Namenode,一个是ActiveNamenode,状态是active;另外一个是StandbyNamenode,状态是standby。两者的状态是可以切换的,但是在同一时间只能有一个Namenode处于active状态。只有处于active状态的namenode能够提供对外的服务,处于standby状态的namenode是不对外服务的。ActiveNamenode和StandbyNamenode之间通过NFS或者JN(journalnode,QJM方式)来同步数据。ActiveNamenode会把最近的操作记录写到本地的一个edits文件中(editsfile),并传输到NFS或者JN中。StandbyNamenode定期地检查,从NFS或者JN把最近的edits文件读过来,然后把edits文件和fsimage文件合并成一个新的fsimage文件,合并完成之后会通知ActiveNamenode获取这个新fsimage文件。ActiveNamenode获得这个新的fsimage文件之后,替换原来旧的fsimage文件。这样,就保持了ActiveNamenode和StandbyNamenode的数据的实时同步,StandbyNamenode可以随时切换成ActiveNamenode(譬如ActiveNamenode挂了)。而且还实现了原来Hadoop1.0的Secondarynamenode,Checkpointnode,Buckcupnode的功能:合并edits文件和fsimage文件,使fsimage文件一直保持更新。所以启动了Hadoop2.0的HA机制之后,Secondarynamenode,Checkpointnode,Buckcupnode这些设置就都不需要了。ActiveNamenode和StandbyNamenode可以随时切换。当ActiveNamenode挂掉后,也可以把StandbyNamenode切换成active状态,成为ActiveNamenode。可以人工切换和自动切换。人工切换是通过执行HA管理的命令来改变namenode的状态,从standby到active,或者从active到standby。自动切换则在ActiveNamenode挂掉的时候,StandbyNamenode自动切换成active状态,取代原来的ActiveNamenode成为新的ActiveNamenode,HDFS继续正常工作。要实现主备节点的自动切换,需要配置zookeeper。ActiveNamenode和StandbyNamenode把他们的状态实时记录到zookeeper中,zookeeper监视他们的状态变化。当zookeeper发现ActiveNamenode挂掉后,会自动把StandbyNamenode切换成ActiveNamenode。基于Hadoop2.0官方资料介绍的2种实现HA机制的方式各有缺点。1、NFS方式NFS作为ActiveNamenode和StandbyNamenode之间数据共享的存储。ActiveNamenode会把最近的edits文件写到NFS,而StandbyNamenode从NFS中把数据读过来。这个方式的缺点是,如果ActiveNamenode或者StandbyNamenode有一个和NFS之间的网络有问题,则会造成他们之间数据的同步出问题。2、QJM方式QJM方式可以解决上述NFS容错机制不足的问题。ActiveNamenode和StandbyNamenode之间是通过一组journalnode(数量是奇数,可以是3,5,7...,2n+1)来共享数据。ActiveNamenode把最近的edits文件写到2n+1个journalnode上,只要有n+1个写入成功就认为这次写入操作成功了,然后StandbyNamenode就可以从journalnode上读取了。可以看到,QJM方式有容错的机制,可以容忍n个journalnode的失败。但是这种方式的缺点是引入了存储开销,一份数据需要存储2n+1份,至少也要存储n+1份。
技术实现思路
为了解决现有的Hadoop2.0的HA两种实现方式存在的网络容错性差和存储开销大的问题,本专利技术提供一种管理Hadoop命名空间的高可用方法,所述方法结合了Hadoop官方推荐的NFS实现方式和QJM实现方式的优点,克服了各自的缺点,为Hadoop系统增加了高可用性,同时也降低了存储开销。为实现上述目标,本专利技术采用以下技术方案:一种管理Hadoop命名空间的高可用方法,所述方法采用NFS作为ActiveNamenode(主名字节点)和StandbyNamenode(备用名字节点)之间的共享存储,在主、备用名字节点和NFS服务器之间设置多个网络连接,一方面均衡网络负载,另一方面增加网络容错能力;在NFS中对于主名字节点要存储的edits文件,进行适度的冗余存储,以增加数据的容错和抗毁能力。优选的,在主、备用名字节点和NFS服务器之间设置双网络连接。优选的,在NFS中对每个edits文件存储3份。优选的,在NFS中存储的多份edits文件要适度隔离,可以是跨跨服务器隔离、跨机柜隔离和跨交换机隔离。一种管理Hadoop命名空间的高可用方法,所述方法包括以下步骤:1)配置NFS集群;2)在主节点与NFS集群之间设置多个网络连接;3)在从节点与NFS集群之间设置多个网络连接;4)设置NFS中对edits文件的存储份数;5)设置NFS中对edits各份文件的隔离存储方案。本专利技术的优点和有益效果为:所述方法结合了Hadoop官方推荐的NFS实现方式和QJM实现方式的优点,克服了各自的缺点,为Hadoop系统增加了高可用性,同时也降低了存储开销。附图说明图1为本专利技术所述的一种管理Hadoop命名空间的高可用方法逻辑结构图。具体实施方式下面结合实施例对本专利技术作进一步说明。实施例1如图1所示,为本专利技术所述的一种管理Hadoop命名空间的高可用方法逻辑结构图,采用NFS作为ActiveNamenode(主名字节点)和StandbyNamenode(备用名字节点)之间的共享存储,在主、备用名字节点和NFS服务器之间设置两个网络连接;在NFS中对于主名字节点要存储的edits文件,进行冗余度为3的备份存储,以增加数据的容错和抗毁能力。具体包括以下步骤:1)配置NFS集群;2)在主节点与NFS集群之本文档来自技高网
...

【技术保护点】
1.一种管理Hadoop命名空间的高可用方法,其特征在于:所述方法采用NFS作为主名字节点和备用名字节点之间的共享存储,在主、备用名字节点和NFS服务器之间设置多个网络连接,一方面均衡网络负载,另一方面增加网络容错能力;在NFS中对于主名字节点要存储的edits文件,进行适度的冗余存储,以增加数据的容错和抗毁能力。

【技术特征摘要】
1.一种管理Hadoop命名空间的高可用方法,其特征在于:所述方法采用NFS作为主名字节点和备用名字节点之间的共享存储,在主、备用名字节点和NFS服务器之间设置多个网络连接,一方面均衡网络负载,另一方面增加网络容错能力;在NFS中对于主名字节点要存储的edits文件,进行适度的冗余存储,以增加数据的容错和抗毁能力。2.根据权利要求1所述的一种管理Hadoop命名空间的高可用方法,其特征在于:在主、备用名字节点和NFS服务器之间设置双网络连接。3.根据权利要求1所述的一种管理Hadoop命名空间的高可用方法,其特征在于...

【专利技术属性】
技术研发人员:张宝华程国艮
申请(专利权)人:中译语通科技股份有限公司
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1