Warning: $HADOOP_HOME is deprecated.的原因以及解决方法-阿里云开发者社区

开发者社区> 大数据> 正文
登录阅读全文

Warning: $HADOOP_HOME is deprecated.的原因以及解决方法

简介: <p style="line-height:23.8px; color:rgb(51,51,51); font-family:Arial; font-size:14px"> <span style="font-size:18px">今天把hadoop从0.20.2版本升级到1.2.1版本之后,在很多时候都会报如下警告:Warning: $HADOOP_HOME is deprecated

今天把hadoop从0.20.2版本升级到1.2.1版本之后,在很多时候都会报如下警告:Warning: $HADOOP_HOME is deprecated.

        其实我刚看到这个警告的时候,第一反应并不是怎么屏蔽掉它,而是想知道Apache为什么准备废弃掉HADOOP_HOME这个环境变量,因为我们知道,后面好多地方都会用到这个环境变量。

        在Google上搜到的结果都是关于如何屏蔽掉这个警告的,据说这个警告会影响到后面Hive程序的执行,没有人解释官方为什么会给这么一个警告,所以就专门写一篇博客来替官方解释一下。

        下面是我在官方网站上搜索到的一封邮件,有人关于这个警告提问,官方人员给出的回复如下:邮件

         Due to a new packaging format, the ApacheHadoop 1.x hasdeprecated
         the HADOOP_HOME env-var in favor of a new env-var called
         'HADOOP_PREFIX'. You can setHADOOP_PREFIX, or set
         HADOOP_HOME_WARN_SUPPRESS in your environment to a non-empty value to
         suppress the warning.

        里面提到了从1.x版本起,HADOOP_HOME环境变量由HADOOP_PREFIX这个环境变量替代。在1.2.1版本的所有配置文件里我搜索“HADOOP_PREFIX”的结果如下:

        由这些结果可以看出来,新版本已经用HADOOP_PREFIX这个环境变量替代HADOOP_HOME了。

解决办法:

        1、在conf/hadoop-env.sh中加入(本人测试只有在hadoop-env.sh中加入才有效,在/etc/profile、~/.bashrc等中加入均无效,不知什么原因,如果哪位朋友知道希望不吝赐教):

              export HADOOP_HOME_WARN_SUPPRESS=1

              还有其他人选择将bin/hadoop-config.sh中的相关提示代码注释掉,但本人不建议这样做。

        2、用环境变量HADOOP_PREFIX替代HADOOP_HOME,但本人建议保留HADOOP_HOME,因为Pig和Hive程序中或许会用到这个环境变量。

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享:
大数据
使用钉钉扫一扫加入圈子
+ 订阅

大数据计算实践乐园,近距离学习前沿技术

其他文章
最新文章
相关文章