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程序中或许会用到这个环境变量。

这个错误提示表明系统无法找到Hadoop的安装路径。要解决这个问题,你需要设置Hadoop的环境变量。以下是一些步骤可以帮助你在CentOS7中配置Hadoop环境: 1. 确认Hadoop安装目录: 首先,确认你的Hadoop安装目录。例如,如果你的Hadoop安装在/usr/local/hadoop-3.1.3,请记下这个路径。 2. 设置环境变量: 打开/etc/profile文件(需要root权限): ``` sudo vi /etc/profile ``` 在文件末尾添加以下内容(根据你的实际安装路径修改): ``` export HADOOP_HOME=/usr/local/hadoop-3.1.3 export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin export HADOOP_MAPRED_HOME=$HADOOP_HOME export HADOOP_COMMON_HOME=$HADOOP_HOME export HADOOP_HDFS_HOME=$HADOOP_HOME export YARN_HOME=$HADOOP_HOME ``` 3. 使环境变量生效: ``` source /etc/profile ``` 4. 验证配置: 执行以下命令来验证Hadoop路径是否正确设置: ``` hadoop version ``` 你应该能看到Hadoop 3.1.3的相关信息。 5. 检查PATH环境变量: 确保$HADOOP_HOME/bin和$HADOOP_HOME/sbin在PATH环境变量中。你可以使用以下命令检查: ``` echo $PATH ``` 如果Hadoop的bin和sbin目录不在PATH中,请重复步骤2和3。 6. 创建符号链接(可选): 如果你的Hadoop安装路径较长,你可以创建一个符号链接到/usr/local/hadoop: ``` sudo ln -s /usr/local/hadoop-3.1.3 /usr/local/hadoop ``` 然后在/etc/profile中设置HADOOP_HOME为/usr/local/hadoop。 完成这些步骤后,你应该能够解决这个错误,并且可以在终端中正常使用Hadoop命令。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值