我尝试在单节点集群上安装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
答案 0 :(得分:6)
我尝试在export HADOOP_HOME_WARN_SUPPRESS="TRUE"
文件中设置conf/hadoop-env.sh
,警告消失了。虽然,我仍然不确定为什么这个警告首先出现。
答案 1 :(得分:3)
HADOOP_HOME
中HADOOP_PREFIX
替换~/.bashrc
解决了这个问题。
您是否尝试在进行此更改后退出当前会话并再次尝试?当您再次登录shell时,对bash配置文件所做的更改将生效。
答案 2 :(得分:2)
您的bash会话可能仍然定义了HADOOP_HOME
变量。尝试echo $HADOOP_HOME
,看看你是否有任何价值。
如果您获得HADOOP_HOME
的值,则表示shell从某些配置文件中获取该值,请检查这些文件(~/.bashrc
,~/.profile
,/etc/profile/
,{{1等等)并删除导出的/etc/bash.bashrc
变量。
在HADOOP_HOME
中设置HADOOP_PREFIX
环境变量而不是HADOOP_HOME
之后打开一个新会话,并且您确定~/.bashrc
未在任何配置文件中导出,你不应该看到那条警告信息。
答案 3 :(得分:1)
弃用错误意味着您使用的特定版本被视为不重要,或者它将在网站上尽快停止支持。
我的意思是说你已经在hadoop中安装了Openjdk。我所做的不是安装openjdk而是安装了Oraclejdk。也许你应该尝试这样做。
Lemme知道这是否有帮助。
问候。
答案 4 :(得分:0)
$HADOOP_HOME
是一条警告消息。今天我在Ubuntu上安装了Micheal网站指令并且工作正常。