2个回答
2014-10-18
展开全部
(1)首先,设置环境变量,并确保环境变量生效(使用source 命令导入,或者打开一个新的shell,或者干脆在当前shell里面,把这些命令运行一遍)
export HADOOP_HOME=/your/own/hadoop/home [这个你懂的]
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
export HADOOP_OPTS="-Djava.library.path=$HADOOP_HOME/lib"
export JAVA_LIBRARY_PATH=$HADOOP_HOME/lib/native
(2)然后,在当前shell里面,echo $HADOOP_OPTS ,确保第一步正确执行
(3)如果前两步已经完成,并且依然有该错误提示,则原因是hadoop自带的native库的(版本)位数与你本机的(版本)位数不同。
具体说就是:
如果你安装的是hadoop 2.4以及之前的版本,它自带的native库是32位的,如果你的操作系统和JVM是64位的,就会报上述错误;
如果你安装的是hadoop 2.5版本,它自带的native库是64位的,如果你的操作系统和JVM是32位的,就会报上述错误。
解决方法是:
如果你的操作系统和JVM是64位的,就直接安装hadoop 2.5版本,无需按照网上说的去重新编译hadoop,因为它的native库就是64位了;
如果你的操作系统和JVM是32位的,就直接安装hadoop 2.4以及之前的版本。
经过以上三步,就能解决你的问题。若未能解决,请追加提问。祝好运!
export HADOOP_HOME=/your/own/hadoop/home [这个你懂的]
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
export HADOOP_OPTS="-Djava.library.path=$HADOOP_HOME/lib"
export JAVA_LIBRARY_PATH=$HADOOP_HOME/lib/native
(2)然后,在当前shell里面,echo $HADOOP_OPTS ,确保第一步正确执行
(3)如果前两步已经完成,并且依然有该错误提示,则原因是hadoop自带的native库的(版本)位数与你本机的(版本)位数不同。
具体说就是:
如果你安装的是hadoop 2.4以及之前的版本,它自带的native库是32位的,如果你的操作系统和JVM是64位的,就会报上述错误;
如果你安装的是hadoop 2.5版本,它自带的native库是64位的,如果你的操作系统和JVM是32位的,就会报上述错误。
解决方法是:
如果你的操作系统和JVM是64位的,就直接安装hadoop 2.5版本,无需按照网上说的去重新编译hadoop,因为它的native库就是64位了;
如果你的操作系统和JVM是32位的,就直接安装hadoop 2.4以及之前的版本。
经过以上三步,就能解决你的问题。若未能解决,请追加提问。祝好运!
追答
这个错误是系统没有找到hadoop这个命令,提示“hadoop: command not found”。
hadoop这个命令在 $HADOOP_HOME/bin下面,你运行 $HADOOP_HOME/bin/hadoop jar xxxxx
这样就指明了hadoop命令的具体路径。
为了方便执行hadoop命令,你可以修改 ~/,bashrc 文件或者 /etc/profile文件,在最后面加入
export PATH=$PATH:$HADOOP_HOME/bin
保存后退出,重新打开一个新的shell,就能直接敲hadoop命令了。
如果依然提示上述错误,说明HADOOP_HOME变量没有定义,你首先运行 “echo $HADOOP_HOME”命令(注意echo后面要有个空格),验证一下你是否定义了HADOOP_HOME这个变量。如果输出了一个具体的路径,例如:/home/user/hadoop-0.20之类的,说明你定义了HADOOP_HOME这个变量。
如果没有定义HADOOP_HOME这个变量,你需要在 ~/,bashrc 文件或者 /etc/profile文件中添加HADOOP_HOME变量和值。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询