现在的位置: 首页 > 综合 > 正文

Warning:$HADOOP_HOME is deprecated问题

2018年06月05日 ⁄ 综合 ⁄ 共 645字 ⁄ 字号 评论关闭

我们在执行脚本start-all.sh启动Hadoop,或则操作HDFS时会出现警告信息,如下图:

这个警告虽不影响程序运行,但是看到这样的警告信息,总是觉得自己做的不够好,怎么去掉警告信息呢?

我们先来看看start-all.sh的源码,如下图:

注:虽然我们看不太懂Shell脚本的语法,但是我们可以猜到可能和文件hadoop-config.sh有关,我们再看一下hadoop-config.sh的源码,由于该文件过大,我们只截取重要部分,如下图:

问题原因:

从上图中开头的if判断中可以看出,脚本判断变量HADOOP_HOME_WARNING_SUPPRESS和HADOOP_HOME的值,如果HADOOP_HOME_SUPPRESS的值为空,而HADOOP_HOME的值不为空,那么就会出现警告信息。

我们在安装hadoop时,设置了环境变量HADOOP_HOME,而没有设置HADOOP_HOME_WARNING_SUPPRESS造成的。

解决方法:

网上说新的hadoop版本使用了HADOOP_INSTALL作为环境变量,我还没有看到源代码,并且担心其他框架和hadoop的兼容性,所以暂不修改HADOOP_HOME,那么只好设置HADOOP_HOME_WARING_SUPPRESS的值了。

修改配置文件/etc/profile,增加变量HADOOP_HOME_WARNING_SUPPRESS,如下图:

修改完之后保存,然后使用source /etc/profile命令刷新一下配置文件即可。

抱歉!评论已关闭.