Não é possível converter o HDFS de não-HA para HA

1

Introdução

Objetivo: Converter o HDFS de não-HA para HA.

Método: De acordo com esta documentação deve ser possível converter o HFDS de não-HA, implementando a seguinte configuração:

/etc/hadoop/conf/hdfs-site.xml

 <property>
   <name>dfs.ha.automatic-failover.enabled</name>
   <value>true</value>
 </property>

/etc/hadoop/conf/core-site.xml

 <property>
   <name>ha.zookeeper.quorum</name>
   <value>localhost:2181</value>
 </property> 

e executando os seguintes comandos:

sudo service hadoop-hdfs-journalnode start

sudo service hadoop-hdfs-zkfc start

hdfs namenode -initializeSharedEdits

sudo -u hdfs hdfs namenode -bootstrapStandby

sudo service hadoop-hdfs-namenode start

Resultados:

14/06/09 15:37:15 FATAL namenode.NameNode: Exception in namenode join
java.io.IOException: org.apache.hadoop.HadoopIllegalArgumentException: HA is not enabled for this namenode.
        at org.apache.hadoop.hdfs.server.namenode.ha.BootstrapStandby.run(BootstrapStandby.java:310)
        at org.apache.hadoop.hdfs.server.namenode.NameNode.createNameNode(NameNode.java:1154)
        at org.apache.hadoop.hdfs.server.namenode.NameNode.main(NameNode.java:1241)
Caused by: org.apache.hadoop.HadoopIllegalArgumentException: HA is not enabled for this namenode.
        at org.apache.hadoop.hdfs.server.namenode.ha.BootstrapStandby.parseConfAndFindOtherNN(BootstrapStandby.java:261)
        at org.apache.hadoop.hdfs.server.namenode.ha.BootstrapStandby.run(BootstrapStandby.java:92)
        at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:70)
        at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:84)
        at org.apache.hadoop.hdfs.server.namenode.ha.BootstrapStandby.run(BootstrapStandby.java:305)
        ... 2 more
14/06/09 15:37:15 INFO util.ExitUtil: Exiting with status 1
14/06/09 15:37:15 INFO namenode.NameNode: SHUTDOWN_MSG:
/************************************************************
SHUTDOWN_MSG: Shutting down NameNode at localhost/127.0.0.1
************************************************************/

Pergunta

Como converter o HDFS de não-HA para HA?

    
por 030 10.06.2014 / 14:02

2 respostas

0

Após aplicar a configuração (consulte o parágrafo Detalhes da configuração) definido em esta documentação o problema HA is not enabled for this namenode foi resolvido.

<property>
  <name>dfs.namenode.rpc-address.mycluster.nn1</name>
  <value>machine1.example.com:8020</value>
</property>
<property>
  <name>dfs.namenode.rpc-address.mycluster.nn2</name>
  <value>machine2.example.com:8020</value>
</property>

A aplicação das outras definições de configuração, respectivamente, no ActiveNN e no StandyNN converteu o HDFS de não-HA para HA.

    
por 11.06.2014 / 14:36
0

Para mim, o erro HA is not enabled for this namenode foi resolvido quando corrigi o arquivo de configuração hdfs-site.xml, onde eu havia mencionado erroneamente 3 namenode-id para um único id de serviço de nome.

A configuração do Ha aceita apenas 2 nomes de nó de id.

    
por 13.01.2015 / 19:36