клиентская программа hdfs, использующая частный IP-адрес узла данных, который работает в Amazon EC2

Все,

Я следую приведенным ниже инструкциям, чтобы настроить одноузловой кластер hadoop в Amazon EC2. И namenode, и датодель работают на одном экземпляре Amazon EC2.

http://www.michael-noll.com/tutorials/running-hadoop-on-ubuntu-linux-single-node-cluster/
http://www.slideshare.net/benjaminwootton/configuring-your-first-hadoop-cluster-on-ec2

У меня есть клиентская программа hdfs на C ++, и она не запускается на экземпляре EC2.

Когда моя клиентская программа пытается записать данные в кластер, я получил следующее исключение:

2014-02-13 14:37:01,027 INFO hdfs.DFSClient(DFSOutputStream.java:createBlockOutputStream(1175)) - Exception in createBlockOutputStream
org.apache.hadoop.net.ConnectTimeoutException: 60000 millis timeout while waiting for channel to be ready for connect. ch : java.nio.channels.SocketChannel[connection-pending remote=/10.168.15.63:50010]
at org.apache.hadoop.net.NetUtils.connect(NetUtils.java:532)
at org.apache.hadoop.hdfs.DFSOutputStream.createSocketForPipeline(DFSOutputStream.java:13

Файл создан на hdfs, но пустой. Кажется, исключение говорит о том, что оно не может создать блок данных на датоделе из-за использования частного IP-адреса (10.168.15.63:50010) вместо общедоступного (либо ec2-54-xxx-xxx-233.us-xxx -1.compute.amazonaws.com или 54.xxx.xxx.233). У меня нет фиксированного IP-адреса (то есть эластичного IP-адреса).

Вот как я определяю адрес datanode в hdfs-site.xml.

<property>
<name>dfs.datanode.address</name>
<value>ec2-54-xxx-xxx-233.us-xxx-1.compute.amazonaws.com:50010</value>
<description>The host and port that the MapReduce job tracker runs at.  If "local", then jobs are run in-process as a single map and reduce task.
</description>
</property>

Что еще нужно настроить, чтобы удаленный клиент мог получить доступ к кластеру Hadoop на EC2?

Заранее спасибо за помощь!

3

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]