hadoop2.3.0HA配置出现的一个超低级问题
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了hadoop2.3.0HA配置出现的一个超低级问题,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1694字,纯文字阅读大概需要3分钟。
内容图文
![hadoop2.3.0HA配置出现的一个超低级问题](/upload/InfoBanner/zyjiaocheng/535/7ea8b2b268464d6b88f179c2a6faee3d.jpg)
环境:rehl 6.4 ,apache hadoop 2.3.0 问题描述: 执行命令hadoop namenode -format 之后,VERSION 版本为-47,执行hadoop-daemon.sh start namenode后,namenode的log报错: File system image contains an old layout version -47. An upgrade to version
环境:rehl 6.4 ,apache hadoop 2.3.0
问题描述:
执行命令 hadoop namenode -format 之后,VERSION 版本为-47,执行hadoop-daemon.sh start namenode后,namenode的log报错:
File system image contains an old layout version -47.
An upgrade to version -51 is required.
表明版本不匹配,日志中建议启动时加上 -upgrade选项,但是由于配置了HA,无法upgrade,所以正常情况下,首先要先在配置文件中把关于HA的配置项屏蔽,以upgrade方式启动单节点的namenode,之后再配置HA,进行正常的HA启动。
但是我在配置个过程中无论如何升级,启动,都无法把nn2,也就是准备做standby的namenode拉起来,无奈之下执行了个命令
which hadoop
结果大吃一惊,hadoop命令显示在/usr/bin下,而这个目录正是我之前用ambari安装的hortonworks的hadoop2.2.0版本的 命令所在的目录,但是我在本次测试开启HA的操作时,已经使用了apache的hadoop2.3.0版本,安装在/app/hadoop下,所以hadoop这个命令正确的位置应该是/app/hadoop/bin下,
而执行which hadoop-daemon.sh时,结果显示为/app/hadoop/sbin
这就解释了为何执行 hadoop namenode -format 后,显示VERSION版本为-47,而执行hadoop-daemon.sh start namenode启动时要求版本为-51,
因为格式化的时候使用了2.2.0版本的 hadoop命令,而启动时使用了2.3.0版本的命令,这就造成了本次非常低级又非常意外的错误,通过这次错误也加深了对VERSION版本的理解,即hadoop的每次更新升级,都会带来VERSION值的减小,正常情况下,是通过-upgrade来升级,改变VERSION值,此处是因为以往的版本没有删除,也没有更改环境变量,导致了上述问题。
内容总结
以上是互联网集市为您收集整理的hadoop2.3.0HA配置出现的一个超低级问题全部内容,希望文章能够帮你解决hadoop2.3.0HA配置出现的一个超低级问题所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。