0
20/01/20 22:18:11 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
20/01/20 22:18:12 INFO checker.ThrottledAsyncChecker: Scheduling a check for [DISK]file:/usr/local/hadoop_tmp/hdfs/datanode/
20/01/20 22:18:12 WARN checker.StorageLocationChecker: Exception checking StorageLocation [DISK]file:/usr/local/hadoop_tmp/hdfs/datanode/
ExitCodeException exitCode=1: chmod: changing permissions of '/usr/local/hadoop_tmp/hdfs/datanode': Operation not permitted

    at org.apache.hadoop.util.Shell.runCommand(Shell.java:998)
    at org.apache.hadoop.util.Shell.run(Shell.java:884)
    at org.apache.hadoop.util.Shell$ShellCommandExecutor.execute(Shell.java:1216)
    at org.apache.hadoop.util.Shell.execCommand(Shell.java:1310)
    at org.apache.hadoop.util.Shell.execCommand(Shell.java:1292)
    at org.apache.hadoop.fs.RawLocalFileSystem.setPermission(RawLocalFileSystem.java:767)
    at org.apache.hadoop.fs.ChecksumFileSystem$1.apply(ChecksumFileSystem.java:506)
    at org.apache.hadoop.fs.ChecksumFileSystem$FsOperation.run(ChecksumFileSystem.java:487)
    at org.apache.hadoop.fs.ChecksumFileSystem.setPermission(ChecksumFileSystem.java:503)
    at org.apache.hadoop.util.DiskChecker.mkdirsWithExistsAndPermissionCheck(DiskChecker.java:192)
    at org.apache.hadoop.util.DiskChecker.checkDir(DiskChecker.java:98)
    at org.apache.hadoop.hdfs.server.datanode.StorageLocation.check(StorageLocation.java:128)
    at org.apache.hadoop.hdfs.server.datanode.StorageLocation.check(StorageLocation.java:44)
    at org.apache.hadoop.hdfs.server.datanode.checker.ThrottledAsyncChecker$1.call(ThrottledAsyncChecker.java:142)
    at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
    at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
    at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
    at java.base/java.lang.Thread.run(Thread.java:834)
20/01/20 22:18:12 ERROR datanode.DataNode: Exception in secureMain
org.apache.hadoop.util.DiskChecker$DiskErrorException: Too many failed volumes - current valid volumes: 0, volumes configured: 1, volumes failed: 1, volume failures tolerated: 0
    at org.apache.hadoop.hdfs.server.datanode.checker.StorageLocationChecker.check(StorageLocationChecker.java:217)
    at org.apache.hadoop.hdfs.server.datanode.DataNode.makeInstance(DataNode.java:2688)
    at org.apache.hadoop.hdfs.server.datanode.DataNode.instantiateDataNode(DataNode.java:2598)
    at org.apache.hadoop.hdfs.server.datanode.DataNode.createDataNode(DataNode.java:2645)
    at org.apache.hadoop.hdfs.server.datanode.DataNode.secureMain(DataNode.java:2789)
    at org.apache.hadoop.hdfs.server.datanode.DataNode.main(DataNode.java:2813)
20/01/20 22:18:12 INFO util.ExitUtil: Exiting with status 1: org.apache.hadoop.util.DiskChecker$DiskErrorException: Too many failed volumes - current valid volumes: 0, volumes configured: 1, volumes failed: 1, volume failures tolerated: 0
20/01/20 22:18:12 INFO datanode.DataNode: SHUTDOWN_MSG:

我收到如上所示的错误。我尝试了很多解决方案,但似乎没有任何效果。namenode 以前也没有运行,但问题是由于权限问题,现在已解决。我第一次使用 hadoop,任何帮助将不胜感激

4

1 回答 1

0

有两种方法:

  1. 使 '/usr/local/hadoop_tmp/hdfs/datanode/' hadoop 用户的所有者。
  2. 更改目录权限:

    chmod -R 777 /usr/local/hadoop_tmp/hdfs/datanode/

于 2020-01-20T14:56:21.083 回答