2016-06-14 11 views
0

Ich habe einen HDP-Cluster im HA-Modus NameNode. Insbesondere ändert dieser Modus, wie HDFS Advanced Core-Site-Konfiguration - fs.defaultFS.Kafka HDFS-Connector mit Cluster in NameNode HA-Modus

Es wird von hdfs://<host>:<port> zu (wie zB in https://docs.hortonworks.com/HDPDocuments/HDP2/HDP-2.4.2/bk_hadoop-ha/content/ha-nn-config-cluster.html dargestellt):

<property> <name>fs.defaultFS</name> <value>hdfs://mycluster</value> </property>

Diese Einstellung wird durch Anschluss config verwendet wird, hdfs.url=hdfs://mycluster, es nicht anschließen, da es nicht den Cluster finden : Caused by: java.net.UnknownHostException: mycluster

Was ich stattdessen tun muss, damit es funktioniert, ist hdfs.url=hdfs://<active NameNode fqdn>:8020 einzustellen. Dies unterstützt jedoch keine HA. Wenn dieser NameNode heruntergenommen wird, schlägt die gesamte Integration fehl und Kafka Connector wechselt nicht auf den neuen NameNode.

Hat es jemand geschafft Kafka HDFS Connect erfolgreich mit NameNode im HA-Modus zu arbeiten?

Antwort

0

Haben Sie auch hdfs-site mit HA-Einstellungen konfiguriert? Könnten Sie diese teilen? Sie müssen sicherstellen, dass zumindest haben:

  • dfs.nameservices
  • dfs.ha.namenodes.mycluster
  • dfs.client.failover.proxy.provider.mycluster
  • dfs.namenode.http-address.mycluster.* und dfs.namenode.rpc-address.mycluster.*
+0

Sicher, eigentlich mein Clustername ist anders, aber nehmen wir an, es ist mycluster . Dann wird nameservices auf "myclusternameservice" gesetzt, namennodes.mycluster wird auf "nn1, nn2" gesetzt, der Failover-Proxy-Provider wird auf "org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider" gesetzt. Für Name Knoten http-Adresse und RPC-Adresse habe ich Einstellungen für beide NameNodes, z. dfs.namenode.http-address.mycluster.nn1 = "nn1.ourdomain.com:50070" und dfs.namenode.http-adresse.mycluster.nn2 = "nn2.ourdomain.com:50070". – wjp

+0

Also ist Ihr 'dfs.nameservices' auf' myclusternameservice' oder 'mycluster' gesetzt, sollte es' mycluster' sein. Nicht sicher, ob Sie einen Tippfehler im Kommentar haben? – ravwojdyla

+0

Es ist myclusternameservice sowie alle anderen Konfigurationen verwenden myclusternameservice, also in der Tat ist es namennodes.myclusternameservice, dfs.namenode.http-Adresse.myclusternameservice.nn1, dfs.namenode.http-Adresse.myclusternameservice.nn2. Entschuldigung für mein Mystake früher! – wjp

Verwandte Themen