1

自分の ext4 ディスクを /mnt/sdb にマウントし、777 に chmod しました。

ただし、データノードを開始する場合:

/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)
4

1 に答える 1

0

これは Linux の標準的な動作です。chmod を試みるとき、重要なのは権限ではなく、それを試みるユーザーです。https://unix.stackexchange.com/questions/52519/when-does-chmod-failのスレッドは、これについてさらに回答しています。

于 2013-08-26T07:01:00.630 に答える