Hadoop常见异常分析及解决方法
1. org.apache.hadoop.security.AccessControlException: Permission denied: user=FDC2,
access=EXECUTE, inode="job_201010161322_0003":heipark:supergroup:rwx------
解决方法:在hdfs-site.xml中添加如下:
<property>
<name>dfs.permissions</name>
<value>false</value>
</property>
2. localhost: Error: JAVA_HOME is not set.
需要在conf/hadoop-env.sh中设置JAVA_HOME环境变量:
......
export HADOOP_JOBTRACKER_OPTS="-Dcom.sun.management.jmxremote $HADOOP_JOBTRACKER_OPTS"
export JAVA_HOME="/usr/customize/java"
3. Warning: $HADOOP_HOME is deprecated.
分析:Hadoop 在bin/hadoop-config.sh 中对HADOOP_HOME 进行了判断,意思是提醒你自己也定义了变量
HADOOP_HOME.
判断发生的地方:
# the root of the Hadoop installation
export HADOOP_PREFIX=`dirname "$this"`/..
export HADOOP_HOME=${HADOOP_PREFIX}
报出错误的地方:
if [ "$HADOOP_HOME_WARN_SUPPRESS" == "" ] && [ "$HADOOP_HOME" != "" ]; then
echo "Warning: \$HADOOP_HOME is deprecated." 1>&2
留着异常也无所谓不会对程序的正常运行产生影响。
解决方法:
添加export HADOOP_HOME_WARN_SUPPRESS=TRUE 到 hadoop-env.sh 中,注意要添加到集群中每一个
节点中。
4. ERROR org.apache.hadoop.security.UserGroupInformation: PriviledgedActionException java.io.IOException:
File ... jobtracker.info could only be replicated to 0 nodes,instead of 1
分析:是防火墙的问题,需要把防火墙关掉。
解决方法:
首先Stop Hadoop集群,接着执行:
sudo ufw disable
3. 参考
http://blog.csdn.net/matraxa/article/details/7179323