视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
hadoop2.3.0HA配置出现的一个超低级问题
2020-11-09 08:18:17 责编:小采
文档


环境: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值,此处是因为以往的版本没有删除,也没有更改环境变量,导致了上述问题。

下载本文
显示全文
专题