Я попытался установить hadoop в двух узлах. Оба узла работают и работают. Наменода работает на Ubuntu 10.10 и Datanode на Fedora 13. При копировании файла из локальной файловой системы в hdfs я обнаружил следующие ошибки.Ошибка при копировании файлов в HDFS
Терминал показал:
12/04/12 02:19:15 INFO hdfs.DFSClient: Exception in createBlockOutputStream java.io.OException: Bad connect ack with firstBadLink as 10.211.87.162:9200
12/04/12 02:19:15 INFO hdfs.DFSClient: Abandoning block blk_-1069539184735421145_1014
Файл журнала в NameNode показал:
2012-10-16 16:17:56,723 ERROR org.apache.hadoop.hdfs.server.datanode.DataNode: DatanodeRegistration(10.6.2.26:50010, storageID=DS-880164535-10.18.13.10-50010-1349721715148, infoPort=50075, ipcPort=50020):DataXceiver
java.net.NoRouteToHostException: No route to host
at sun.nio.ch.SocketChannelImpl.checkConnect(Native Method)
at sun.nio.ch.SocketChannelImpl.finishConnect(SocketChannelImpl.java:567)
at org.apache.hadoop.net.SocketIOWithTimeout.connect(SocketIOWithTimeout.java:206)
at org.apache.hadoop.net.NetUtils.connect(NetUtils.java:404)
at org.apache.hadoop.hdfs.server.datanode.DataXceiver.writeBlock(DataXceiver.java:282)
at org.apache.hadoop.hdfs.server.datanode.DataXceiver.run(DataXceiver.java:103)
at java.lang.Thread.run(Thread.java:662)
DataNodes доступны обозначены как 2. Я отключил брандмауэр и SELinux. следующие изменения были также внесены в HDFS-site.xml
dfs.socket.timeout -> 360000
dfs.datanode.socket.write.timeout -> 3600000
dfs.datanode .max.xcievers -> 1048576
Оба узла запускают sun-java6-jdk, datanode содержит Openjdk, но настройки пути были сделаны для sun java.
Ошибка сохраняется.
Какое может быть решение.
Проверьте подключение к сети, выполнив пинг между различными машинами. –
@PraveenSripati Да, машины подключены. Проверено с помощью ping. Однако проблема сохраняется. – sujitha
Вы нашли решение? В настоящее время я сталкиваюсь с той же проблемой :( –