`

Hadoop迁移Namenode

 
阅读更多

一.前提及方案

 

操作版本:社区版 Hadoop-1.0.3,其他版本不保证

 

之前HBase没有考虑压缩,经过一段时间的研究和测试,打算在HBase中全面采用snappy压缩库。但是在节点上配置snappy时,发现其要求glibc版本在2.5+,而当前系统CentOS-4.8的glibc是2.3.4,CentOS-4.8不支持独立升级glibc到2.5+,所以只能整个集群升级系统到CentOS5。逐台升级,这就牵扯到Namenode节点也要升级,这就需要在不丢失数据的情况下将Namenode迁移到其他服务器,特在此记录操作流程,供后续参考。

 

因为集群初始时没有设置SecondaryNamenode,一开始考虑觉得还挺困难,但是后来仔细一想,其实Hadoop集群是“机器不相关”(或者IP不相关?)的,无论是那台机器做Namenode,只要配置指向该节点,且该节点文件路径与原Namenode一致,则其他Datanode节点就应该会很傻很天真的以为它就是Namenode节点。

 

二. edits和fsimage介绍

 

集群NameNode把文件系统(HDFS)的变化追加保存到日志文件edits中。

 

当NameNode启动时,会从镜像文件 fsimage 中读取HDFS的状态,并且把edits文件中记录的操作应用到fsimage,也就是合并到fsimage中去。合并后更新fsimage的HDFS状态,创建一个新的edits文件来记录文件系统的变化。

 

与此相关的主要文件存储位置在hdfs-site.xml中设置 :

 

<property>

 

        <name>dfs.name.dir</name>

 

        <value>/data1/hadoopdata1/dfs/name,/data1/hadoopdata2/dfs/name</value>

 

</property>

 

三. 具体操作步骤

 

1. 停掉Hadoop及相关集群

 

2. 备份dfs.name.dir所指向的目录及文件

 

3. 修改$HADOOP_HOME/conf/下配置文件

 •修改core-site.xml中fs.default.name,将原hostname改为新主机hostname

 •修改mapred-site.xml中mapred.job.tracker,将原hostname改为新主机hostname

 •检查slaves文件和master文件(因为很多时候是从原集群中剥离一台机器,所以要特别注意是否有遗漏)

 •修改其他相关配置文件的配置(如有HBase,需要修改hbase-site.xml中hbase.rootdir等,所以尽量仔细检查各个配置文件)

 

4. 建立新Namenode到其自身及其他Datanode节点间的互信

 

5. 将第2步中备份的文件拷贝到新Namenode节点,且按照原Namenode文件结构放置文件

 

6. 将第3步中修改后的配置文件分发到其他Datanode节点

 

7. 启动HDFS,查看NameNode、SecondaryNameNode和各个DataNode状态是否正常

 

8. 启动MapReduce,查看TaskTracker、ZooKeeper、RegionServer状态是否存在异常

分享到:
评论

相关推荐

    hadoop版本迁移(不损失数据和用户信息等)

    以下是一个详尽的Hadoop版本迁移步骤,确保数据完整性的同时进行版本升级。 首先,确保在迁移前备份所有重要数据。这包括HDFS的元数据(如fsimage文件),以及用户数据、配置文件等。fsimage文件包含了HDFS的所有...

    RDBMS到Hadoop的迁移方案.pptx

    【RDBMS到Hadoop迁移】随着大数据时代的到来,企业面临着海量数据的处理挑战,传统的RDBMS(关系型数据库管理系统)在面对大数据量时显得力不从心。RDBMS主要用于结构化数据的存储和管理,但在处理非结构化和半结构...

    hadoop集群安装、配置、维护文档

    5. **迁移namenode节点.txt**: 名Node是Hadoop HDFS的主要元数据管理节点,其迁移可能涉及备份现有NameNode的数据,配置新的NameNode服务器,执行格式化操作,更新集群的配置文件,以及将备份数据恢复到新节点。这...

    hadoop shell命令

    - **`hadoop namenode -format`**:格式化Namenode,通常在初次启动HDFS时使用。 #### 6. **hadoop datanode** Datanode负责存储实际的数据块,并响应来自Namenode的指令。 #### 7. **hadoop secondarynamenode**...

    hadoop3.1以及jdk1.8

    同时,对于"01_jar包",这可能是指包含Hadoop相关应用程序或工具的Java归档文件,它们可以用于执行特定的任务,例如数据分析或数据迁移。在集群中运行这些jar包,通常使用Hadoop的命令行工具`hadoop jar`。

    hadoop配置.zip

    本压缩包文件"hadop配置.zip"提供了一个简单的Hadoop高可用性(HA)配置参考,特别针对NameNode的迁移。以下是对配置过程的详细说明: 一、Hadoop HA概述 Hadoop HA主要通过在两个不同的节点上设置NameNode的热备来...

    Hadoop单节点部署指导

    - **Sqoop**:用于在Hadoop和关系型数据库之间进行数据迁移的工具。 - **Oozie**:一个工作流调度系统,用于管理Hadoop中的复杂工作流程。 #### 六、总结 通过上述步骤,我们可以成功地在一个单节点上部署并配置...

    hadoop2.7.3源码包,hadoop2.7.3zip源码包

    4. `hadoop/tools`: 包含各种Hadoop工具,如Hadoop命令行工具、数据迁移工具等。 在研究源码时,你可以通过`org`目录下的这些子模块了解Hadoop的内部工作流程,例如文件的分布式存储、数据分片、任务调度、容错机制...

    hadoop完整安装流程

    7. 启动Hadoop服务,包括DataNode、NameNode、ResourceManager、NodeManager等。 8. 使用`jps`命令检查服务是否正常运行。 对于新手来说,安装过程中可能会遇到各种问题,如依赖库缺失、端口冲突、配置错误等,因此...

    hadoop高级应用三

    同时,混合云策略允许企业在本地和云端之间灵活地迁移和管理Hadoop工作负载。 7. **Hadoop与其他大数据技术的集成**:Hadoop常常与其他大数据技术如NoSQL数据库、图计算、机器学习库等结合,形成更强大的解决方案,...

    hadoop重要源码包和jar包

    同时,Hadoop还提供了一些工具jar包,如`hadoop-tools.jar`,它包含了诸如HDFS的DFSAdmin工具和数据迁移工具等。 在实际应用中,我们可以通过编写MapReduce程序,利用`hadoop-streaming.jar`进行基于命令行的处理,...

    Hadoop3以及高可用HA搭建方式.zip

    Hadoop3.0引入了两个NameNode(Active和Standby),通过ZooKeeper进行状态同步,确保NameNode的高可用。 2. **Erasure Coding**:一种新的数据冗余策略,用以替代传统的三副本策略。它通过编码和解码算法,使用更少...

    ArcGIS与Hadoop的集成

    集成后,可以在Hadoop集群中直接处理GIS数据,进行空间分析,而无需将数据迁移到其他系统中。这样不仅提高了效率,还降低了成本。随着大数据时代的到来,这一集成技术在资源管理、城市规划、灾害预测、交通优化等多...

    Hadoop 2.10.0中文版API

    10. **Sqoop**:用于在Hadoop和传统关系型数据库之间导入导出数据的工具,提供了批处理数据迁移的API。 掌握Hadoop 2.10.0中文版API意味着开发者能够熟练地在Hadoop平台上开发、部署和优化大数据处理应用,从而充分...

    hadoop-3.1.0.zip,windows 编译后bin文件,windows Hadoop客户端环境

    4. **S3A FileSystem客户端**:这个版本对Amazon S3的支持进行了增强,S3A客户端提供更好的性能和稳定性,使用户能够更方便地在Hadoop和S3之间迁移数据。 5. **HTTP/2和WebHDFS**:引入了HTTP/2协议支持,以提高Web...

    Hadoop与HBase部署文档

    Hadoop的部署通常涉及多台节点,包括NameNode、DataNode、Secondary NameNode等角色,而HBase则有Master、RegionServer等组件。 2. **准备工作** - **主机**:部署Hadoop和HBase需要多台服务器或虚拟机,每台机器...

    hadoop-2.6.2.tar.gz

    5. **hadoop-tools**: 提供了一些实用工具,如Hadoop命令行工具、数据迁移工具(DistCp)以及与其他系统集成的工具。 在分析源码时,你可能需要关注以下几个关键点: - **HDFS的副本策略**:Hadoop如何决定数据块的...

    Hadoop第一次培训材料

    - **数据导入与导出**:学习如何使用Hadoop的工具如`sqoop`进行传统数据库与Hadoop之间的数据迁移。 - **Hadoop MapReduce编程**:通过Java API编写MapReduce作业,理解Mapper和Reducer的工作流程。 - **故障恢复...

    hadoop-3.0.2

    8. **跨NameNode的数据移动**:新版本允许在不同NameNode之间直接移动数据,无需经过DataNode,这大大提高了数据迁移效率。 9. **升级工具和兼容性**:Hadoop 3.0.2提供了升级工具,帮助用户从旧版本平滑过渡到新...

Global site tag (gtag.js) - Google Analytics