несовместимый идентификатор кластера Hadoop Swarm - PullRequest
0 голосов
/ 17 мая 2018

каждый раз, когда я перезагружал рой, у меня эта проблема

java.io.IOException: Incompatible clusterIDs in /hadoop/dfs/data: 
namenode clusterID = CID-b25a0845-5c64-4603-a2cb-d7878c265f44; 
datanode clusterID = CID-f90183ca-4d87-4b49-8fb2-ca642d46016c at org.apache.hadoop.hdfs.server.datanode.DataStorage.doTransition(DataStorage.java:777)

FATAL datanode.DataNode: Initialization failed for Block pool <registering> 
(Datanode Uuid unassigned) service to namenode/10.0.0.7:8020. Exiting.  
java.io.IOException: All specified directories are failed to load.  at org.apache.hadoop.hdfs.server.datanode.DataStorage.recoverTransitionRead(DataStorage.java:574)

Я решил эту проблему, удалив этот том докера

том доко sudo проверяет hadoop_datanode

[
    {
        "CreatedAt": "2018-05-10T19:35:31Z",
        "Driver": "local",
        "Labels": {
            "com.docker.stack.namespace": "hadoop"
        },
        "Mountpoint": "/data0/docker_var/volumes/hadoop_datanode/_data",
        "Name": "hadoop_datanode",
        "Options": {},
        "Scope": "local"
    }
]

Но в этом томе присутствуют файлы, которые я помещаю в hdfs, поэтому при развертывании роя таким образом я должен снова помещать файлы в hdfs. Я не уверен, что это правильный способ решить эту проблему. Погуглил Я нашел одно решение, но я не знаю, как применить его до перезагрузки роя, вот решение:

Проблема связана с именем свойства dfs.datanode.data.dir. Это ошибка в качестве dfs.dataode.data.dir. Это делает недействительным свойство из и, как следствие, местоположение по умолчанию $ {hadoop.tmp.dir} / hadoop - $ {USER} / dfs / data используется в качестве каталога данных. По умолчанию hadoop.tmp.dir - это / tmp, при каждой перезагрузке содержимое этот каталог будет удален и заставит datanode воссоздать папка при запуске. И, таким образом, несовместимые ID кластера. Редактировать это имя свойства в hdfs-site.xml перед форматированием наменода и запуск услуг.

Я использую этот док-концентратор для namenode: bde2020 / Hadoop-NameNode: 2.0.0-hadoop2.7.4-java8

и это для датододы: bde2020 / Hadoop-DataNode: 2.0.0-hadoop2.7.4-java8

спасибо.

...