Команда Hadoop start-all.cmd: завершение работы datanode

Я пытаюсь установить Hadoop в моем Windows 10

Ссылка: https://github.com/MuhammadBilalYar/Hadoop-On-Window/wiki/Step-by-step-Hadoop-2.8.0-installation-on-Window-10

Команда Hadoop start-all.cmd запускает namenode, resourceManager и nodeManager успешно, но датода не запущена

Ошибка::

checker.StorageLocationChecker: Exception checking StorageLocation [DISK]file:/C:/hadoop-3.1.1/data/datanode
java.lang.UnsatisfiedLinkError: org.apache.hadoop.io.nativeio.NativeIO$POSIX.stat(Ljava/lang/String;)Lorg/apache/hadoop/io/nativeio/NativeIO$POSIX$Stat;
        at org.apache.hadoop.io.nativeio.NativeIO$POSIX.stat(Native Method)
        at org.apache.hadoop.io.nativeio.NativeIO$POSIX.getStat(NativeIO.java:455)
        at org.apache.hadoop.fs.RawLocalFileSystem$DeprecatedRawLocalFileStatus.loadPermissionInfoByNativeIO(RawLocalFileSystem.java:796)
        at org.apache.hadoop.fs.RawLocalFileSystem$DeprecatedRawLocalFileStatus.loadPermissionInfo(RawLocalFileSystem.java:710)
        at org.apache.hadoop.fs.RawLocalFileSystem$DeprecatedRawLocalFileStatus.getPermission(RawLocalFileSystem.java:678)
        at org.apache.hadoop.util.DiskChecker.mkdirsWithExistsAndPermissionCheck(DiskChecker.java:233)
        at org.apache.hadoop.util.DiskChecker.checkDirInternal(DiskChecker.java:141)
        at org.apache.hadoop.util.DiskChecker.checkDir(DiskChecker.java:116)
        at org.apache.hadoop.hdfs.server.datanode.StorageLocation.check(StorageLocation.java:239)
        at org.apache.hadoop.hdfs.server.datanode.StorageLocation.check(StorageLocation.java:52)
        at org.apache.hadoop.hdfs.server.datanode.checker.ThrottledAsyncChecker$1.call(ThrottledAsyncChecker.java:142)
        at java.util.concurrent.FutureTask.run(FutureTask.java:266)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
        at java.lang.Thread.run(Thread.java:748)
2018-12-28 11:19:03,023 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:220)
        at org.apache.hadoop.hdfs.server.datanode.DataNode.makeInstance(DataNode.java:2762)
        at org.apache.hadoop.hdfs.server.datanode.DataNode.instantiateDataNode(DataNode.java:2677)
        at org.apache.hadoop.hdfs.server.datanode.DataNode.createDataNode(DataNode.java:2719)
        at org.apache.hadoop.hdfs.server.datanode.DataNode.secureMain(DataNode.java:2863)
        at org.apache.hadoop.hdfs.server.datanode.DataNode.main(DataNode.java:2887)
2018-12-28 11:19:03,031 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
2018-12-28 11:19:03,079 INFO datanode.DataNode: SHUTDOWN_MSG:
/************************************************************
SHUTDOWN_MSG: Shutting down DataNode at BHARTI/192.168.2.161
************************************************************/

3 ответа

Решение

Я выкладываю то, что у меня сработало. В etc / hadoop / core-site.xml сохраните следующую конфигурацию

      <configuration>
<property>
    <name>fs.defaultFS</name>
    <value>hdfs://localhost:9000</value>
</property>

В etc / hadoop / hdfs-site.xml сохраните следующую конфигурацию

          <configuration>
  <property>
        <name>dfs.replication</name>
        <value>1</value>
    </property>
<property> 
<name>dfs.namenode.name.dir</name> 
<value>file:///C:/hadoop-3.2.2/data/namenode</value> //Your path to namenode may be different 
</property> 

<property> 
<name>dfs.datanode.data.dir</name> 
<value>datanode</value>
</property>
</configuration>

Теперь запустите команду hdfs namenode -format в каталоге bin и в каталоге sbin запустить start-dfs.cmd. Datanode должен запуститься сейчас, если ошибок нет.

Если вы не можете загрузить файл, вам необходимо изменить разрешение. Например, допустим, вы создали каталог с именем user с помощью команды hdfs dfs -mkdir user. По умолчанию разрешение будет «drwxr-xr-x». Вам нужно изменить это с помощью команды hdfs dfs -chmod 777 /user. Будет установлено разрешение drwxrwxrwx. Теперь вы можете загружать и скачивать файл.

Я установил hadoop 2.8.0

ссылка:https:Hadoop для Windows

будьте осторожны при изменении XML-файла или копировании его с сайта, изменения все еще необходимы для файла etc с сайта.

Я получал ту же ошибку, затем я увидел, что я не указал правильные значения пути для datanode и namenode в файле hdfs-site.xml, после исправления он работает нормально

Другие вопросы по тегам