分享

Apache hadoop集群迁移namenode节点

hahaxixi 发表于 2015-5-27 10:49:09 [显示全部楼层] 回帖奖励 阅读模式 关闭右栏 5 34341
各位高人,由于集群中namenode所在的机器性能不行,现在准备将namenode迁移到新的机器上面去,不知道哪位有过这样的经验,在迁移的步骤怎么样?需要修改哪些配置文件?需要注意哪些问题?以前namenode没有做HA,现在如果想在迁移的过程中顺便做HA,可行吗?

已有(5)人评论

跳转到指定楼层
leo_1989 发表于 2015-5-27 11:05:20
楼主那个版本,最好先迁移完毕,在配置HA,否则出问题比较难解决
回复

使用道具 举报

hahaxixi 发表于 2015-5-27 11:11:29
leo_1989 发表于 2015-5-27 11:05
楼主那个版本,最好先迁移完毕,在配置HA,否则出问题比较难解决

嗯,好的,不知道在迁移过程中,我需要注意哪些呢?因为虽然大概知道要怎么弄,但还没去尝试,想多多了解以后再去弄。
回复

使用道具 举报

leo_1989 发表于 2015-5-27 11:12:29
hadoop1.x按照这个:
无论是那台机器做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/下配置文件
&#8226;修改core-site.xml中fs.default.name,将原hostname改为新主机hostname
&#8226;修改mapred-site.xml中mapred.job.tracker,将原hostname改为新主机hostname
&#8226;检查slaves文件和master文件(因为很多时候是从原集群中剥离一台机器,所以要特别注意是否有遗漏)
&#8226;修改其他相关配置文件的配置(如有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状态是否存在异常

回复

使用道具 举报

hahaxixi 发表于 2015-5-27 12:50:18
leo_1989 发表于 2015-5-27 11:12
hadoop1.x按照这个:
无论是那台机器做Namenode,只要配置指向该节点,且该节点文件路径与原Namenode一致 ...

我的集群现在是用的hadoop2.2,不知道跟你上面说的步骤是否有区别?还有,难道可以先迁移完namenode,然后在配置HA?
回复

使用道具 举报

leo_1989 发表于 2015-5-27 17:41:40
hahaxixi 发表于 2015-5-27 12:50
我的集群现在是用的hadoop2.2,不知道跟你上面说的步骤是否有区别?还有,难道可以先迁移完namenode,然 ...

配置完HA,在迁移,这样增大了迁移风险
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

推荐上一条 /2 下一条