Я создал Hadoop кластер с помощью двух узловHDFS -copyFromLocal DataNode DFS отказывающиеся соединение
h01: Главная машина - Ubuntu Desktop 15.04
h02: виртуальная машина с помощью VMware на моей основной машине - убунту сервер 14,04
Команда jps показывает namenode и secondarynamenode на h01 и datanode на h02, а веб-интерфейс для namenode показывает дататод, чтобы они были успешно подключены.
Проблема заключается в том, когда я выполняю команду:
hdfs dfs -copyFromLocal input/
Это дает следующее сообщение об ошибке:
16/03/14 14:29:55 INFO hdfs.DFSClient: Exception in createBlockOutputStream
java.net.ConnectException: Connection refused
at sun.nio.ch.SocketChannelImpl.checkConnect(Native Method)
at sun.nio.ch.SocketChannelImpl.finishConnect(SocketChannelImpl.java:744)
at org.apache.hadoop.net.SocketIOWithTimeout.connect(SocketIOWithTimeout.java:206)
at org.apache.hadoop.net.NetUtils.connect(NetUtils.java:530)
at org.apache.hadoop.hdfs.DFSOutputStream.createSocketForPipeline(DFSOutputStream.java:1610)
at org.apache.hadoop.hdfs.DFSOutputStream$DataStreamer.createBlockOutputStream(DFSOutputStream.java:1408)
at org.apache.hadoop.hdfs.DFSOutputStream$DataStreamer.nextBlockOutputStream(DFSOutputStream.java:1361)
at org.apache.hadoop.hdfs.DFSOutputStream$DataStreamer.run(DFSOutputStream.java:588)
Я новичок в Hadoop и любая помощь будет оценена. Ниже приведены мои конфигурационные файлы:
файл:/и т.д./хосты машина: h01
127.0.0.1 localhost
127.0.1.1 hitesh-SVE15136CNB
192.168.93.128 h02
172.16.87.68 h01
# The following lines are desirable for IPv6 capable hosts
::1 ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
файл:/и т.д./хосты машина: h02
127.0.0.1 localhost
127.0.1.1 ubuntu
172.16.87.68 h01
192.168.93.128 h02
# The following lines are desirable for IPv6 capable hosts
::1 localhost ip6-localhost ip6-loopback
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
файла: ядро-site.xml машина : оба же
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://h01:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/home/hadoop/hadoop</value>
</property>
</configuration>
файл: HDFS-site.xml машина: оба же
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
</configuration>
мастера содержат h01, а slaves содержат h02. Я обеспечил ssh подключение без пароля между двумя машинами.
EDIT:
Я нашел проблему. На вкладке datanodes в пользовательском интерфейсе namenode отображается правый datanode, но неправильный IP (он показывает ip namenode, а не datanode). Я попытался установить namenode на другой виртуальной машине, и он работает. Но все еще не могу понять, где указанная выше конфигурация неверна. Пожалуйста, помогите