我尝试在单节点集群上安装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中运行以下命令时:
hduser@maziyar-Lenovo-IdeaPad-U300s:~$ /usr/local/hadoop/usr/sbin/start-all.sh我得到以下错误:
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上,我想我的错误来自于:
# 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目录中有这些文件夹,
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
发布于 2013-06-13 14:19:24
我尝试在我的conf/hadoop-env.sh文件中设置export HADOOP_HOME_WARN_SUPPRESS="TRUE",但警告消失了。尽管如此,我仍然不确定为什么这个警告放在了第一位。
发布于 2013-10-11 17:33:32
在~/.bashrc中用HADOOP_PREFIX替换HADOOP_HOME为我解决了这个问题。
您是否在进行此更改后尝试注销当前会话,然后重试?您对bash配置文件所做的更改将在您再次登录到shell时生效。
发布于 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没有在任何配置文件中导出,您应该不会看到该警告消息。
https://stackoverflow.com/questions/16936745
复制相似问题