Я пытаюсь настроить HDFS и Cloudera Manager через API Cloudera Manager. Однако я застрял в определенном месте:
Я настраиваю все роли HDFS, но NameNode отказывается взаимодействовать с узлами данных. Соответствующая ошибка из журнала DataNode:
Initialization failed for Block pool BP-1653676587-172.168.215.10-1435054001015 (Datanode Uuid null) service to master.adastragrp.com/172.168.215.10:8022 Datanode denied communication with namenode because the host is not in the include-list: DatanodeRegistration(172.168.215.11, datanodeUuid=1a114e5d-2243-442f-8603-8905b988bea7, infoPort=50075, ipcPort=50020, storageInfo=lv=-56;cid=cluster4;nsid=103396489;c=0)
at org.apache.hadoop.hdfs.server.blockmanagement.DatanodeManager.registerDatanode(DatanodeManager.java:917)
at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.registerDatanode(FSNamesystem.java:5085)
at org.apache.hadoop.hdfs.server.namenode.NameNodeRpcServer.registerDatanode(NameNodeRpcServer.java:1140)
at
Мой DNS настроен через файл hosts, поэтому я подумал, что применим следующий ответ, и безуспешно попробовал решение: https://stackoverflow.com/a/29598059/1319284
Однако у меня есть еще один небольшой кластер с практически такой же конфигурацией, насколько я могу судить, который работает. DNS также настраивается через /etc/hosts, но здесь я настроил кластер через графический интерфейс Cloudera Manager вместо API.
После этого я, наконец, нашел каталог конфигурации запущенного процесса NameNode, а там нашел файл dfs_hosts_include. Открытие показывает, что включен только 127.0.0.1. В рабочем кластере все узлы включены в этот файл. Я нахожу похожую странность в topology.map:
<?xml version="1.0" encoding="UTF-8"?>
<!--Autogenerated by Cloudera Manager-->
<topology>
<node name="master.adastragrp.com" rack="/default"/>
<node name="127.0.0.1" rack="/default"/>
<node name="slave.adastragrp.com" rack="/default"/>
<node name="127.0.0.1" rack="/default"/>
</topology>
... Это выглядит неправильно. Опять же, в рабочем кластере IP-адреса соответствуют ожидаемым.
Я не только не знаю, что пошло не так, я также не знаю, как повлиять на эти файлы, так как все они автоматически генерируются Cloudera Manager. Кто-нибудь видел это раньше и может дать рекомендации здесь?