Hadoop 3.1.1 показывает только одну живую датододу
Я установил hadoop 3.1.1 на 3 виртуальных машины с VMware в Ubuntu. Когда я запускаю hdfs namenode -format и start-all.sh, тогда jps работает правильно на моем главном и двух подчиненных узлах.
Однако с помощью команды hdfs dfsadmin -report я вижу только один узел данных в реальном времени (я получаю тот же результат, когда проверяю мастер:50070 или 8088).
Я попытался отключить брандмауэр следующим образом: отключить UFW, но это не решило проблему. 3 машины могут соединяться друг с другом (без passwd) с помощью ping и ssh. Я также удалил папку hadoop tmp с папками datanode и namenode, но она не сработала. Также нет проблем, отображаемых в файлах журнала.
Есть ли у вас какие-либо решения, чтобы получить три живых датододы вместо одного? Благодарю.
Это мои файлы конфигурации:
Пряжа-site.xml
<configuration>
<property>
<name>yarn.resourcemanager.hostname</name>
<value>master</value>
</property>
<property>
<name>yarn.resourcemanager.resource-tracker.address</name>
<value>master:8025</value>
</property>
<property>
<name>yarn.resourcemanager.scheduler.address</name>
<value>master:8035</value>
</property>
<property>
<name>yarn.resourcemanager.address</name>
<value>master:8050</value>
</property>
</configuration>
HDFS-site.xml
<configuration>
<property>
<name>dfs.datanode.data.dir</name>
<value>/usr/local/hadoop_tmp/hdfs/datanode</value>
<final>true</final>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>/usr/local/hadoop_tmp/hdfs/namenode</value>
<final>true</final>
</property>
<property>
<name>dfs.namenode.http-address</name>
<value>master:50070</value>
</property>
<property>
<name>dfs.replication</name>
<value>3</value>
</property>
</configuration>
ядро-site.xml
<configuration>
<property>
<name>fs.default.name</name>
<value>hdfs://master:9000/</value>
</property>
<property>
<name>fs.default.FS</name>
<value>hdfs://master:9000/</value>
</property>
</configuration>
рабочие
master
slave1
slave2
1 ответ
Я нашел решение. Проблема была в брандмауэре. Но "UFW" не помогает. Мне нужно было сделать эти команды:
sudo iptables -L -v
sudo iptables -F
sudo iptables -X
sudo iptables -t nat -F
sudo iptables -t nat -X
sudo iptables -t mangle -F
sudo iptables -t mangle -X
sudo iptables -P INPUT ACCEPT
sudo iptables -P FORWARD ACCEPT
sudo iptables -P OUTPUT ACCEPT