当前位置: > Linux集群 > Hadoop >

Hadoop常见异常分析及解决方法

时间:2015-05-11 03:17来源:linux.it.net.cn 作者:IT
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 (责任编辑:IT)
------分隔线----------------------------