首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >$HADOOP_HOME已弃用,Hadoop

$HADOOP_HOME已弃用,Hadoop
EN

Stack Overflow用户
提问于 2013-06-05 17:50:50
回答 5查看 22K关注 0票数 6

我尝试在单节点集群上安装Hadoop (我自己的labtop-ubuntu 12.04)。我按照本教程逐行检查了两次。http://www.michael-noll.com/tutorials/running-hadoop-on-ubuntu-linux-single-node-cluster/

一切似乎都是正确的。我设置了所有的core-site.xml、mapred-site.xml、hdfs-site.xml。

当我在hduser su中运行以下命令时:

代码语言:javascript
复制
hduser@maziyar-Lenovo-IdeaPad-U300s:~$ /usr/local/hadoop/usr/sbin/start-all.sh

我得到以下错误:

代码语言:javascript
复制
Warning: $HADOOP_HOME is deprecated.

starting namenode, logging to /usr/local/hadoop/usr/libexec/../logs/hadoop-hduser-namenode-maziyar-Lenovo-IdeaPad-U300s.out
cat: /usr/local/hadoop/usr/libexec/../etc/hadoop/slaves: No such file or directory
cat: /usr/local/hadoop/usr/libexec/../etc/hadoop/masters: No such file or directory
starting jobtracker, logging to /usr/local/hadoop/usr/libexec/../logs/hadoop-hduser-jobtracker-maziyar-Lenovo-IdeaPad-U300s.out
cat: /usr/local/hadoop/usr/libexec/../etc/hadoop/slaves: No such file or directory

我将导出HADOOP_HOME_WARN_SUPPRESS="TRUE“添加到hadoop-env.sh中,但仍然出现相同的错误。

在文件/home/hduser/.bashrc上,我想我的错误来自于:

代码语言:javascript
复制
# Set Hadoop-related environment variables
export HADOOP_HOME=/usr/local/hadoop

# Set JAVA_HOME (we will also configure JAVA_HOME directly for Hadoop later on)
export JAVA_HOME=/usr/lib/jvm/jdk-7u10-linuxi586/usr/java/jdk1.7.0_10

# Some convenient aliases and functions for running Hadoop-related commands
unalias fs &> /dev/null
alias fs="hadoop fs"
unalias hls &> /dev/null
alias hls="fs -ls"

# If you have LZO compression enabled in your Hadoop cluster and
# compress job outputs with LZOP (not covered in this tutorial):
# Conveniently inspect an LZOP compressed file from the command
# line; run via:
#
# $ lzohead /hdfs/path/to/lzop/compressed/file.lzo
#
# Requires installed 'lzop' command.
#
lzohead () {
    hadoop fs -cat $1 | lzop -dc | head -1000 | less
}

# Add Hadoop bin/ directory to PATH
export PATH=$PATH:$HADOOP_HOME/usr/sbin

我添加了/usr/sbin作为bin目录,因为那里有start-all.sh和命令。

我也尝试在bashrc文件中使用"HADOOP_PREFIX“而不是"HADOOP_HOME”,但仍然是同样的错误。

我的hadoop目录中有这些文件夹,

代码语言:javascript
复制
maziyar@maziyar-Lenovo-IdeaPad-U300s:/usr/local/hadoop$ ls -lha
total 20K
drwxr-xr-x  5 hduser hadoop 4.0K May 30 15:25 .
drwxr-xr-x 12 root   root   4.0K May 30 15:25 ..
drwxr-xr-x  4 hduser hadoop 4.0K May 30 15:25 etc
drwxr-xr-x 12 hduser hadoop 4.0K Jun  4 21:29 usr
drwxr-xr-x  4 hduser hadoop 4.0K May 30 15:25 var

我上周下载了apache-hadoop的最新版本: hadoop-1.1.2-1.i386.rpm

EN

回答 5

Stack Overflow用户

发布于 2013-06-13 14:19:24

我尝试在我的conf/hadoop-env.sh文件中设置export HADOOP_HOME_WARN_SUPPRESS="TRUE",但警告消失了。尽管如此,我仍然不确定为什么这个警告放在了第一位。

票数 6
EN

Stack Overflow用户

发布于 2013-10-11 17:33:32

~/.bashrc中用HADOOP_PREFIX替换HADOOP_HOME为我解决了这个问题。

您是否在进行此更改后尝试注销当前会话,然后重试?您对bash配置文件所做的更改将在您再次登录到shell时生效。

票数 3
EN

Stack Overflow用户

发布于 2013-07-01 20:01:55

您的bash会话可能仍然定义了HADOOP_HOME变量。尝试echo $HADOOP_HOME,看看是否获得了任何值。

如果你得到了HADOOP_HOME的值,这意味着外壳程序是从一些配置文件中获得它的,请检查这些文件(~/.bashrc~/.profile/etc/profile//etc/bash.bashrc等)。并删除导出的HADOOP_HOME变量。

~/.bashrc中设置了HADOOP_PREFIX环境变量而不是HADOOP_HOME之后,打开一个新的会话,并且您确定$HADOOP_HOME没有在任何配置文件中导出,您应该不会看到该警告消息。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16936745

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档