Датанода не запускается. Namenode, вторичное имя узла все запускается нормально - PullRequest
0 голосов
/ 20 января 2020
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:

Я получаю ошибку, как показано выше. Я пробовал много решений, но, похоже, ничего не работает. Наменод также не работал ранее, но там была проблема из-за разрешений, и теперь она решена. Я использую имел oop в первый раз, и любая помощь будет наиболее ценной

1 Ответ

0 голосов
/ 20 января 2020

Существует два способа:

  1. Сделать владельцем пользователя '/ usr / local / hadoop_tmp / hdfs / datanode /' hadoop.
  2. Изменить разрешение каталога:

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

...