在Kerberos Auth之后,Datanode不在Hadoop中启动

时间:2017-03-14 14:50:26

标签: hadoop

我已获得/app/hadoop/tmp/dfs/data的许可。

WARN org.apache.hadoop.hdfs.server.datanode.DataNode: Invalid dfs.datanode.data.dir /app/hadoop/tmp/dfs/data : 
EPERM: Operation not permitted
    at org.apache.hadoop.io.nativeio.NativeIO$POSIX.chmodImpl(Native Method)
    at org.apache.hadoop.io.nativeio.NativeIO$POSIX.chmod(NativeIO.java:230)
    at org.apache.hadoop.fs.RawLocalFileSystem.setPermission(RawLocalFileSystem.java:727)
    at org.apache.hadoop.fs.FilterFileSystem.setPermission(FilterFileSystem.java:502)
    at org.apache.hadoop.util.DiskChecker.mkdirsWithExistsAndPermissionCheck(DiskChecker.java:140)
    at org.apache.hadoop.util.DiskChecker.checkDir(DiskChecker.java:156)
    at org.apache.hadoop.hdfs.server.datanode.DataNode$DataNodeDiskChecker.checkDir(DataNode.java:2341)
    at org.apache.hadoop.hdfs.server.datanode.DataNode.checkStorageLocations(DataNode.java:2383)
    at org.apache.hadoop.hdfs.server.datanode.DataNode.makeInstance(DataNode.java:2365)
    at org.apache.hadoop.hdfs.server.datanode.DataNode.instantiateDataNode(DataNode.java:2257)
    at org.apache.hadoop.hdfs.server.datanode.DataNode.createDataNode(DataNode.java:2304)
    at org.apache.hadoop.hdfs.server.datanode.DataNode.secureMain(DataNode.java:2481)
    at org.apache.hadoop.hdfs.server.datanode.DataNode.main(DataNode.java:2505)
2017-03-14 20:10:51,169 FATAL org.apache.hadoop.hdfs.server.datanode.DataNode: Exception in secureMain
java.io.IOException: All directories in dfs.datanode.data.dir are invalid: "/app/hadoop/tmp/dfs/data/" 
    at org.apache.hadoop.hdfs.server.datanode.DataNode.checkStorageLocations(DataNode.java:2392)
    at org.apache.hadoop.hdfs.server.datanode.DataNode.makeInstance(DataNode.java:2365)
    at org.apache.hadoop.hdfs.server.datanode.DataNode.instantiateDataNode(DataNode.java:2257)
    at org.apache.hadoop.hdfs.server.datanode.DataNode.createDataNode(DataNode.java:2304)
    at org.apache.hadoop.hdfs.server.datanode.DataNode.secureMain(DataNode.java:2481)
    at org.apache.hadoop.hdfs.server.datanode.DataNode.main(DataNode.java:2505)
2017-03-14 20:10:51,172 INFO org.apache.hadoop.util.ExitUtil: Exiting with status 1
2017-03-14 20:10:51,174 INFO org.apache.hadoop.hdfs.server.datanode.DataNode: SHUTDOWN_MSG: 
/************************************************************

1 个答案:

答案 0 :(得分:2)

本地文件系统上该目录的所有者是否与datanode正在使用的Kerberos主体的服务匹配?因此,如果它是hdfs /,那么目录(以及它下面的所有目录)应归hdfs所有。