具有完全开放权限的目录如何抛出eperm错误(hadoop)?

44u64gxh  于 2021-06-03  发布在  Hadoop
关注(0)|答案(1)|浏览(362)

我已经安装了自己的ext4磁盘ont/mnt/sdb,并将其添加到777。
但是,在启动数据节点时:
/etc/init.d/hadoop-hdfs-datanode启动
我的日志中出现以下错误(此消息的底部)
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)
kqhtkvqz

kqhtkvqz1#

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

相关问题