2013-11-01 7 views
5

Im конфигурирование Hadoop 2.2.0 стабильная версия с HA namenode, но я не знаю, как настроить удаленный доступ к кластеру.Hadoop HA Namenode удаленный доступ

У меня есть HA namenode, настроенный с ручным отказоустойчивостью, и я определил dfs.nameservices, и я могу получить доступ к hdfs с помощью nameservice из всех узлов, входящих в кластер, но не извне.

Я могу выполнять операции над hdfs путем непосредственного контакта с активным namenode, но я этого не хочу, я хочу связаться с кластером, а затем перенаправить на активный namenode. Я думаю, что это нормальная конфигурация кластера HA.

Кто-нибудь теперь, как это сделать?

(заранее спасибо ...)

+0

На клиентском узле, которые вы настроили ядро-site.xml с соответствующими свойствами (fs.default.name для имя кластера и ha.zookeeper.quorum для списка серверов ZK)? Можете ли вы опубликовать свой текущий файл core-site.xml в свой исходный вопрос. –

+0

Я получаю доступ к hdfs через webHDFS, поэтому у меня нет hadoop, установленного на моем клиентском узле. – BAndrade

+0

У кого-нибудь есть мнение, чтобы поделиться этим вопросом? – BAndrade

ответ

1

Вам необходимо обратиться в один из узлов имени (как вы сейчас делаете) - нет узла кластера связаться.

Код клиента hadoop знает адрес двух namenodes (в файле core-site.xml) и может быть идентификатором, который является активным и который является резервным. Возможно, есть способ, с помощью которого вы можете допросить узлом zookeeper в кворуме, чтобы определить активный/резервный (возможно, я не уверен), но вы можете также проверить один из наменоходов - у вас есть шанс 50/50, это активный.

Мне нужно будет проверить, но вы можете запросить либо, если вы просто читаете HDFS.

+0

Прежде всего, спасибо за ответ. Im использует pywebhdfs, поэтому он не использует файл core-site.xml. То, что я делаю, это ... сохранить два адреса наменования. Если операция не удалась, я смотрю на исключение для «Standbyexception», если существует, я пытаюсь использовать другой namenode ... – BAndrade

1

для узла Active Name вы всегда можете запросить Zookeeper. вы можете получить активный узел имен из ниже пути Zk.

/hadoop-ha/namenodelogicalname/ActiveStandbyElectorLock 
2

Вы должны добавить больше значения на сайт HDFS:

<property> 
    <name>dfs.ha.namenodes.myns</name> 
    <value>machine-98,machine-99</value> 
</property> 

<property> 
    <name>dfs.namenode.rpc-address.myns.machine-98</name> 
    <value>machine-98:8100</value> 
</property> 

<property> 
    <name>dfs.namenode.rpc-address.myns.machine-99</name> 
    <value>machine-145:8100</value> 
</property> 

<property> 
    <name>dfs.namenode.http-address.myns.machine-98</name> 
    <value>machine-98:50070</value> 
</property> 

<property> 
    <name>dfs.namenode.http-address.myns.machine-99</name> 
    <value>machine-145:50070</value> 
</property> 
Смежные вопросы