2

私は CDH4.1.2 セキュア クラスターを実行しており、単一の namenode+secondarynamenode 構成で正常に動作しますが、Cloudera Manager インターフェイスから高可用性 (クォーラム ベース) を有効にしようとすると、ステップ 10/16 で停止します。アクティブモード namenode ([my namenode's hostname]) に移行されます。

ロール ログ ファイルを掘り下げると、次の致命的なエラーが発生します。

Exception in namenode joinjava.lang.IllegalArgumentException: Does not contain a valid host:port authority: [my namenode's fqhn]:[my namenode's fqhn]:0 at
org.apache.hadoop.net.NetUtils.createSocketAddr(NetUtils.java:206) at
org.apache.hadoop.net.NetUtils.createSocketAddr(NetUtils.java:158) at
org.apache.hadoop.net.NetUtils.createSocketAddr(NetUtils.java:147) at
org.apache.hadoop.hdfs.server.namenode.NameNodeHttpServer.start(NameNodeHttpServer.java:143) at
org.apache.hadoop.hdfs.server.namenode.NameNode.startHttpServer(NameNode.java:547) at
org.apache.hadoop.hdfs.server.namenode.NameNode.startCommonServices(NameNode.java:480) at
org.apache.hadoop.hdfs.server.namenode.NameNode.initialize(NameNode.java:443) at
org.apache.hadoop.hdfs.server.namenode.NameNode.<init>(NameNode.java:608) at
org.apache.hadoop.hdfs.server.namenode.NameNode.<init>(NameNode.java:589) at
org.apache.hadoop.hdfs.server.namenode.NameNode.createNameNode(NameNode.java:1140) at
org.apache.hadoop.hdfs.server.namenode.NameNode.main(NameNode.java:1204)

どうすればこれを解決できますか?

4

1 に答える 1

0

2 つの問題があるようです。

  1. NameNode の IP アドレスは、通常のホスト名ではなく「my namenode の fqhn」に解決されます。/etc/hosts ファイルを確認して、これを修正してください。
  2. dfs.https.port を構成する必要があります。Cloudera Manager の無料版では、セキュリティを有効にするために安全弁に適切な構成を追加する必要があったに違いありません。その一環として、dfs.https.port を構成する必要があります。

非 HA モードでもこのコード パスがトラバースされることを考えると、HA を有効にする前に安全な NameNode を正しく起動できたことに驚きました。まだ行っていない場合は、最初にセキュリティを有効にし、すべての HDFS ロールが正しく起動することをテストしてから、HA を有効にすることをお勧めします。

于 2013-03-16T07:50:03.263 に答える