具有广泛开放权限的目录如何抛出EPERM错误(hadoop)?

时间:2013-07-06 16:09:52

标签: hadoop file-permissions hdfs

我已经将自己的ext4磁盘安装在ont / mnt / sdb上并将其修改为777。

但是,在启动数据节点时:

/etc/init.d/hadoop-hdfs-datanode start

我的日志中出现以下错误(此消息的底部)


由此引起的EPERM错误是什么?如何重现?我假设,因为目录权限递归设置为777,不应该有这种错误发生的方式,除非某处间歇地将目录权限由hdfs更改为错误的东西。


2013-07-06 15:54:13,968 WARN org.apache.hadoop.hdfs.server.datanode.DataNode: Invalid dfs.datanode.data.dir /mnt/sdb/hadoop-hdfs/cache/hdfs/dfs/data :
EPERM: Operation not permitted
  at org.apache.hadoop.io.nativeio.NativeIO.chmod(Native Method)
  at org.apache.hadoop.fs.RawLocalFileSystem.setPermission(RawLocalFileSystem.java:605)
  at org.apache.hadoop.fs.FilterFileSystem.setPermission(FilterFileSystem.java:439)
  at org.apache.hadoop.util.DiskChecker.mkdirsWithExistsAndPermissionCheck(DiskChecker.java:138)
  at org.apache.hadoop.util.DiskChecker.checkDir(DiskChecker.java:154)
  at org.apache.hadoop.hdfs.server.datanode.DataNode.getDataDirsFromURIs(DataNode.java:1659)
  at org.apache.hadoop.hdfs.server.datanode.DataNode.makeInstance(DataNode.java:1638)
  at org.apache.hadoop.hdfs.server.datanode.DataNode.instantiateDataNode(DataNode.java:1575)
  at org.apache.hadoop.hdfs.server.datanode.DataNode.createDataNode(DataNode.java:1598)
  at org.apache.hadoop.hdfs.server.datanode.DataNode.secureMain(DataNode.java:1751)
  at org.apache.hadoop.hdfs.server.datanode.DataNode.main(DataNode.java:1772)

1 个答案:

答案 0 :(得分:0)

这是标准的Linux行为。在尝试chmod时,它不是重要的权限,而是用户尝试它。 https://unix.stackexchange.com/questions/52519/when-does-chmod-fail的主题在此处进一步回答。