如何解决刚安装完hadoop报Warning: $HADOOP_HOME is deprecated的方法

本文介绍了解决Hadoop启动时出现的$HADOOP_HOME已弃用警告的方法。通过修改.bash_profile文件添加环境变量HADOOP_HOME_WARN_SUPPRESS并重新加载配置,可以消除此警告。

时间 2014-01-24 13:30:56 优快云博客
原文 http://blog.youkuaiyun.com/yangkai_hudong/article/details/18732421
主题 Hadoop
下面的解决方案我亲自试了没有问题;可行,但是对于初学者来说肯定会有一个疑问;这个 .bash_profile 文件到底在哪呢;其实很简单:

当前用户的.bash_profile在/home/用户/下,系统的.bash_profile在/etc/skel目录下; 默认可能是隐藏的;有人会问了,隐藏的我怎么打开它,一个简单的办法,直接使用vi命令打开指定目录下的该文件就可以了;比如:vi /root/.bash_profile

说白了修改方法只有两步(针对root用户的命令):

1.修改配置文件:vi /root/.bash_profile 添加 export HADOOP_HOME_WARN_SUPPRESS=1

2.重新加载配置文件:source /root/.bash_profile

下面详细介绍原因及方案;资料来自:http://chenzhou123520.iteye.com/blog/1826002

启动Hadoop时报了一个警告信息,我安装的Hadoop版本是hadoop1.0.4,具体警告信息如下:

Shell代码 收藏代码

[root@localhost hadoop- 1.0 . 4 ]# ./bin/start-all.sh
Warning: $HADOOP_HOME is deprecated.
网上的说法是因为Hadoop本身对HADOOP_HOME做了判断,具体在bin/hadoop和bin/hadoop-config.sh里。在hadoop-config.sh里有如下的配置:

Shell代码 收藏代码

if [ "$HADOOP_HOME_WARN_SUPPRESS" = "" ] && [ "$HADOOP_HOME" != "" ]; then
echo "Warning: \$HADOOP_HOME is deprecated." 1 >& 2
echo 1 >& 2
fi
对于这个警告问题,解决方法如下:

1.注释掉hadoop-config.sh里的上面给出的这段if fi配置(不推荐)

2.在当前用户home/.bash_profile里增加一个环境变量:

export HADOOP_HOME_WARN_SUPPRESS=1

注:修改完.bash_profile后需要执行source操作使其生效

Shell代码 收藏代码

[root@localhost ~]# source .bash_profile
执行完后我们可以检验一下配置是否成功,重新执行start-all.sh脚本:

Shell代码 收藏代码

[root@localhost hadoop- 1.0 . 4 ]# ./bin/start-all.sh
starting namenode, logging to /root/hadoop- 1.0 . 4 /libexec/../logs/hadoop-root-namenode-localhost.out
localhost: starting datanode, logging to /root/hadoop- 1.0 . 4 /libexec/../logs/hadoop-root-datanode-localhost.out
localhost: starting secondarynamenode, logging to /root/hadoop- 1.0 . 4 /libexec/../logs/hadoop-root-secondarynamenode-localhost.out
starting jobtracker, logging to /root/hadoop- 1.0 . 4 /libexec/../logs/hadoop-root-jobtracker-localhost.out
localhost: starting tasktracker, logging to /root/hadoop- 1.0 . 4 /libexec/../logs/hadoop-root-tasktracker-localhost.out
没有出现Warning: $HADOOP_HOME is deprecated,说明问题已经解决。

Warning: /home/sqoop-1.4.5-cdh5.3.6/../hbase does not exist! HBase imports will fail. Please set $HBASE_HOME to the root of your HBase installation. Warning: /home/sqoop-1.4.5-cdh5.3.6/../hcatalog does not exist! HCatalog jobs will fail. Please set $HCAT_HOME to the root of your HCatalog installation. Warning: /home/sqoop-1.4.5-cdh5.3.6/../accumulo does not exist! Accumulo imports will fail. Please set $ACCUMULO_HOME to the root of your Accumulo installation. Warning: /home/sqoop-1.4.5-cdh5.3.6/../zookeeper does not exist! Accumulo imports will fail. Please set $ZOOKEEPER_HOME to the root of your Zookeeper installation. 25/09/04 23:24:05 INFO sqoop.Sqoop: Running Sqoop version: 1.4.5-cdh5.3.6 25/09/04 23:24:05 WARN tool.BaseSqoopTool: Setting your password on the command-line is insecure. Consider using -P instead. 25/09/04 23:24:05 INFO oracle.OraOopManagerFactory: Data Connector for Oracle and Hadoop is disabled. 25/09/04 23:24:05 INFO manager.SqlManager: Using default fetchSize of 1000 25/09/04 23:24:05 INFO tool.CodeGenTool: Beginning code generation 25/09/04 23:24:05 INFO manager.OracleManager: Time zone has been set to GMT 25/09/04 23:24:05 INFO manager.SqlManager: Executing SQL statement: SELECT t.* FROM APPEND_TEST t WHERE 1=0 25/09/04 23:24:05 INFO orm.CompilationManager: HADOOP_MAPRED_HOME is /home/hadoop-2.8.2 Note: /tmp/sqoop-root/compile/6a88a05f1ea3fd8256509275ffd22b72/APPEND_TEST.java uses or overrides a deprecated API. Note: Recompile with -Xlint:deprecation for details. 25/09/04 23:24:06 INFO orm.CompilationManager: Writing jar file: /tmp/sqoop-root/compile/6a88a05f1ea3fd8256509275ffd22b72/APPEND_TEST.jar 25/09/04 23:24:06 INFO manager.OracleManager: Time zone has been set to GMT 25/09/04 23:24:06 INFO manager.OracleManager: Time zone has been set to GMT 25/09/04 23:24:06 INFO mapreduce.ImportJobBase: Beginning import of APPEND_TEST 25/09/04 23:24:06 INFO Configuration.deprecation: mapred.jar is deprecated. Instead, use mapreduce.job.jar 25/09/04 23:24:06 INFO manager.OracleManager: Time zone has been set to GMT 25/09/04 23:24:06 INFO Configuration.deprecation: mapred.map.tasks is deprecated. Instead, use mapreduce.job.maps 25/09/04 23:24:06 INFO client.RMProxy: Connecting to ResourceManager at /0.0.0.0:8032
最新发布
09-06
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值