`

Hadoop&Hbase 备份方案--NFS

阅读更多
Hadoop&Hbase 备份方案--NFS
需求:
实现namenode元数据的备份,解决namenode单点宕机导致集群不可用的问题。

方案描述:
当namenode所在服务器宕机的时候,我们可以利用namenode备份的元数据迅速重构新的namenode来投入使用。

1.  Hadoop本身提供了可利用secondarynamenode的备份数据来恢复namenode的元数据的方案,但因为checkpoint(在每次checkpoint的时候secondarynamenode才会合并并同步namenode的数据)的问题,secondarynamenode的备份数据并不能时刻保持与namenode同步,也就是说在namenode宕机的时候secondarynamenode可能会丢失一段时间的数据,这段时间取决于checkpoint的周期。我们可以减小checkpoint的周期来减少数据的丢失量,但由于每次checkpoint很耗性能,而且这种方案也不能从根本上解决数据丢失的问题。所以如果需求上不允许这种数据的丢失,这种方案可直接不予考虑。

2.  Hadoop提供的另一种方案就是NFS,一种即时备份namenode元数据的方案,设置多个data目录(包括NFS目录),让namenode在持久化元数据的时候同时写入多个目录,这种方案较第一种方案的优势是能避免数据的丢失(这里我们暂时不讨论NFS本身会丢失数据的可能性,毕竟这种几率很小很小)。既然可以解决数据丢失的问题,说明这套方案在原理上是可行的,以下是测试结果。

测试环境:
虚拟机5台(1G内存,40G硬盘,ubuntu操作系统,Hadoop-0.20.2,Zookeeper-3.3.2,Hbase-0.20.6),一台namenode,3台datanode,一台NFS服务器(备用namenode)。

测试步骤:
1.部署好Hadoop,Zookeeper,Hbase集群环境及NFS服务器环境。在这里NFS服务器的目录结构应该和datanode的目录结构一样,在namenode宕机的时候,NFS将作为备用namenode启用。(当然这只是用作测试用,实际生产环境应该有专门的NFS服务器和备用namenode)。
2.在namenode上设置dfs.name.dir的目录为本地目录和NFS目录
3.启动集群并存储数据
4.关闭namenode所在机器(模拟namenode服务器宕机)
5.关闭datanode服务器上相关线程,分发集群配置文件,拷贝NFS目录上的备份数据到新namenode的name目录,启动新集群(这里可用工具统一分发配置分件和关闭datanode线程)
6.测试新集群,数据未丢失,集群正常使用
7.回到步骤3
8.关闭NFS服务器(模拟NFS服务器故障)
9.集群瘫痪
10.重启NFS服务器
11.集群恢复

问题及可行性分析:

1. namenode的IP映射及访问问题,重新构造namenode可能导致客户端访问IP不一致,可以在备用namenode投入使用的时候,配置其IP和原namenode一致,或者采取VIP的方案。
2. NFS服务器宕机导致集群瘫痪,可配置NFS集群来确保NFS的可用性。
3. 重新构造namenode的时延问题,不能确保故障发生时能立即投入使用,对于需要即时使用的项目建议采用namenode热备方案。
分享到:
评论

相关推荐

    hbase-hadoop-compat-1.1.3-API文档-中文版.zip

    赠送jar包:hbase-hadoop-compat-1.1.3.jar; 赠送原API文档:hbase-hadoop-compat-1.1.3-javadoc.jar; 赠送源代码:hbase-hadoop-compat-1.1.3-sources.jar; 赠送Maven依赖信息文件:hbase-hadoop-compat-1.1.3....

    hbase-hadoop-compat-1.1.3-API文档-中英对照版.zip

    赠送jar包:hbase-hadoop-compat-1.1.3.jar; 赠送原API文档:hbase-hadoop-compat-1.1.3-javadoc.jar; 赠送源代码:hbase-hadoop-compat-1.1.3-sources.jar; 赠送Maven依赖信息文件:hbase-hadoop-compat-1.1.3....

    hbase-hadoop-compat-1.4.3-API文档-中文版.zip

    赠送jar包:hbase-hadoop-compat-1.4.3.jar; 赠送原API文档:hbase-hadoop-compat-1.4.3-javadoc.jar; 赠送源代码:hbase-hadoop-compat-1.4.3-sources.jar; 赠送Maven依赖信息文件:hbase-hadoop-compat-1.4.3....

    hbase-hadoop-compat-1.2.12-API文档-中文版.zip

    赠送jar包:hbase-hadoop-compat-1.2.12.jar; 赠送原API文档:hbase-hadoop-compat-1.2.12-javadoc.jar; 赠送源代码:hbase-hadoop-compat-1.2.12-sources.jar; 赠送Maven依赖信息文件:hbase-hadoop-compat-...

    hbase-hadoop-compat-1.2.12-API文档-中英对照版.zip

    赠送jar包:hbase-hadoop-compat-1.2.12.jar; 赠送原API文档:hbase-hadoop-compat-1.2.12-javadoc.jar; 赠送源代码:hbase-hadoop-compat-1.2.12-sources.jar; 赠送Maven依赖信息文件:hbase-hadoop-compat-...

    小牛学堂-大数据24期-04-Hadoop Hive Hbase Flume Sqoop-12天适合初学者

    小牛学堂-大数据24期-04-Hadoop Hive Hbase Flume Sqoop-12天适合初学者.txt

    hbase-hadoop2-compat-1.2.12-API文档-中文版.zip

    赠送jar包:hbase-hadoop2-compat-1.2.12.jar; 赠送原API文档:hbase-hadoop2-compat-1.2.12-javadoc.jar; 赠送源代码:hbase-hadoop2-compat-1.2.12-sources.jar; 赠送Maven依赖信息文件:hbase-hadoop2-compat-...

    HBase(hbase-2.4.9-bin.tar.gz)

    就像Bigtable利用了Google文件系统(File System)所提供的分布式数据存储一样,HBase在Hadoop之上提供了类似于Bigtable的能力。HBase是Apache的Hadoop项目的子项目。HBase不同于一般的关系数据库,它是一个适合于非...

    hbase-hadoop2-compat-1.1.3-API文档-中文版.zip

    赠送jar包:hbase-hadoop2-compat-1.1.3.jar; 赠送原API文档:hbase-hadoop2-compat-1.1.3-javadoc.jar; 赠送源代码:hbase-hadoop2-compat-1.1.3-sources.jar; 赠送Maven依赖信息文件:hbase-hadoop2-compat-...

    HADOOP&ZK&HBASE&YCSB集群搭建验证

    HADOOP&ZOOKEEPER&HBASE&YCSB集群搭建验证 HADOOP&ZOOKEEPER&HBASE&YCSB集群搭建验证是大数据处理和存储的关键技术栈。该技术栈主要包括四个组件:HADOOP、ZOOKEEPER、HBASE 和 YCSB。了解这些技术的搭建和验证是大...

    hadoop-2.7.2-hbase-jar.tar.gz

    《Hadoop 2.7.2与HBase的集成——深入理解hadoop-2.7.2-hbase-jar.tar.gz》 Hadoop是Apache软件基金会的一个开源项目,它为大规模数据处理提供了一个分布式计算框架。Hadoop的核心包括HDFS(Hadoop Distributed ...

    Hadoop&Hbase安装完美教程

    本教程“Hadoop&Hbase安装完美教程”旨在指导用户详细地安装和配置这两个工具,确保用户能够顺利地进行大数据操作。首先,让我们深入了解Hadoop的安装过程: 1. **环境准备**:Hadoop需要Java运行环境,因此第一步...

    hbase的hbase-1.2.0-cdh5.14.2.tar.gz资源包

    4. **启动与停止**:使用`start-hbase.sh`启动HBase集群,`stop-hbase.sh`停止服务。 5. **客户端连接**:HBase提供了命令行接口(HBase Shell)和Java API,可以用来交互式操作HBase或在应用程序中集成。 ### ...

    Hadoop和Hbase 配置文件-完整好的

    `conf-Hbase`目录下的文件如下: 1. `hbase-site.xml`: 这是HBase的核心配置文件,包含了HBase的主节点(Master)、ZooKeeper的连接信息(`hbase.zookeeper.quorum`),以及HBase的数据存储位置(`hbase.rootdir`)...

    hive-hbase-handler-1.2.1.jar

    被编译的hive-hbase-handler-1.2.1.jar,用于在Hive中创建关联HBase表的jar,解决创建Hive关联HBase时报FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask. org.apache.hadoop....

    phoenix-hbase-2.2-5.1.2-bin.tar.gz

    总的来说,`phoenix-hbase-2.2-5.1.2-bin.tar.gz`是大数据存储和分析领域的重要工具,它结合了HBase的分布式存储能力和Phoenix的SQL查询能力,为大数据处理提供了一种高效、易用的解决方案。无论是对大数据新手还是...

    Docker(Hadoop-3.3.1+HBase-2.4.16+Zookeeper-3.7.1+Hive-3.1.3)配置文件

    Docker(Hadoop_3.3.1+HBase_2.4.16+Zookeeper_3.7.1+Hive_3.1.3 )配置文件 搭建集群环境

    hbase-1.2.1-bin.tar.gz.zip

    HBase,全称为Hadoop Distributed File System上的基础结构(HBase on Hadoop Distributed File System),是一种分布式的、面向列的开源数据库,它构建在Apache Hadoop文件系统(HDFS)之上,提供高可靠性、高性能...

    hadoop&hbase;高可用测试环境搭建

    在构建大数据处理和存储系统时,Hadoop和HBase是两个关键组件。Hadoop是一个开源框架,主要用于分布式存储和计算,而HBase是基于Hadoop的分布式列式数据库,适用于实时查询和大规模数据处理。本教程将详述如何搭建一...

    hbase-2.4.17-bin 安装包

    4. 启动HBase:运行`bin/start-hbase.sh`启动所有HBase服务,包括Master、RegionServer等。 三、HBase操作 1. 创建表:使用`hbase shell`进入命令行工具,执行`create '表名', '列族名'`创建表。 2. 插入数据:...

Global site tag (gtag.js) - Google Analytics