首先先看一下文档: http://dongxicheng.org/mapreduce-nextgen/hadoop-upgrade-to-version-2/
http://dongxicheng.org/mapreduce-nextgen/hadoop-upgrade-in-version-1/
http://www.cloudera.com/content/cloudera-content/cloudera-docs/CDH4/latest/CDH4-Installation-Guide/cdh4ig_topic_6_3.html
http://bupt04406.iyunv.com/blog/1920585
http://hadoop.apache.org/docs/r2.2.0/hadoop-yarn/hadoop-yarn-site/HDFSHighAvailabilityWithQJM.html
HDFS升级,是hadoop集群升级到2.0的关键,而hdfs升级,最重要的是namenode的升级。
首先声明:在 HA 模式下,namenode是不能升级的!
2013-10-25 16:28:24,669 FATAL org.apache.hadoop.hdfs.server.namenode.NameNode: Exception in namenode join
org.apache.hadoop.HadoopIllegalArgumentException: Invalid startup option. Cannot perform DFS upgrade with HA enabled
so,先 使用非ha模式将namenode的元数据升级:
step 1: 做下saveNamespace操作,停掉集群,并备份下 HDFS 的 Metadata 1.1 让namenode进入safe mode状态
$ bin/hadoop dfsadmin -safemode enter
1.2 执行saveNamespace操作
$ bin/hadoop dfsadmin -saveNamespace
1.3 stop 集群
1.4 备份 dfs.name.dir 下面的元数据
step2:
将集群环境换成2.0的:
hadoop-daemon.sh start namenode -upgrade
step3:
namenode升级完成后,将datanode启动,datanode会自动升级到与namenode相同版本
关闭集群
将升级完的namenode元数据一些参数修改一下,改成ha模式:
这时需要将journalnode的元文件的VERSION文件的参数修改,改成与namenode的元数据相同
或者使用 命令:
bin/hdfs namenode -initializeSharedEdits
启动 journalnode
启动namenode
启动datanode
hdfs haadmin -transitionToActive nn1
将active namenode的 {dfs.namenode.name.dir} 目录的内容复制到 standby namenode的{dfs.namenode.name.dir} 目录下
然后 启动 standby namenode
或者使用命令:hdfs namenode -bootstrapStandby 作用与直接拷贝元数据类似
* 否则,会出大问题*
2013-10-28 17:36:13,818 FATAL org.apache.hadoop.hdfs.server.namenode.NameNode: Exception in namenode join
java.io.IOException: There appears to be a gap in the edit log. We expected txid 2, but got txid 7.
https://issues.apache.org/jira/i#browse/HDFS-5058
版权声明:本文为博主原创文章,未经博主允许不得转载。
运维网声明
1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网 享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com