NameNode HAモードでHDPクラスタを取得しました。具体的には、このモードは、HDFS Advancedのコアサイトconfig-fs.defaultFSの仕方を変更します。NameNode HAモードのクラスタを持つKafka HDFSコネクタ
hdfs://<host>:<port>
から(例えばhttps://docs.hortonworks.com/HDPDocuments/HDP2/HDP-2.4.2/bk_hadoop-ha/content/ha-nn-config-cluster.htmlに示すように)に設定されています:
<property> <name>fs.defaultFS</name> <value>hdfs://mycluster</value> </property>
この設定は、コネクタの設定、hdfs.url=hdfs://mycluster
によって使用され、それがクラスタを見つけることができないとして、それは接続しません:私はそれを動作させるために、代わりに行う必要がありますどのような Caused by: java.net.UnknownHostException: mycluster
は、hdfs.url=hdfs://<active NameNode fqdn>:8020
を設定することです。ただし、これはHAをサポートしていません。そのNameNodeをダウンさせると、統合全体が失敗し、Kafka Connectorは新しいNameNodeに切り替わりません。
誰かがHAモードでNameNodeとうまくいっているKafka HDFS Connectを作って成功しましたか?
確かに、実際に私のクラスタ名は異なりますが、のは、それはMYCLUSTERだと仮定しましょう。次に、nameservicesは "myclusternameservice"に設定され、namenodes.myclusterは "nn1、nn2"に設定され、フェイルオーバープロキシープロバイダーは "org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider"に設定されます。名前ノードのhttp-addressとrpc-addressには、両方のNameNodesの設定があります。 dfs.namenode.http-address.mycluster.nn1 = "nn1.ourdomain.com:50070"とdfs.namenode.http-address.mycluster.nn2 = "nn2.ourdomain.com:50070"。 – wjp
'dfs.nameservices'は' myclusternameservice'または 'mycluster'に設定されていますので、' mycluster'にする必要があります。コメントに入力ミスがあるかどうかはわかりませんか? – ravwojdyla
これはmyclusternameserviceであり、他のすべてのconfigsはmyclusternameserviceを使用しているため、実際はnamenodes.myclusternameservice、dfs.namenode.http-address.myclusternameservice.nn1、dfs.namenode.http-address.myclusternameservice.nn2です。私のミステイクを早くも申し訳ありません! – wjp