3

Ambari サーバーに問題があり、Namenode を開始できません。HDP 2.0.6、Ambari 1.4.1 を使用しています。Kerberos セキュリティを有効にすると、これが発生することに言及する価値があります。つまり、無効にするとエラーは発生しません。

エラーは次のとおりです。

2015-02-04 16:01:48,680 ERROR namenode.EditLogInputStream (EditLogFileInputStream.java:nextOpImpl(173)) - caught exception initializing http://int-iot-hadoop-fe-02.novalocal:8480/getJournal?jid=integration&segmentTxId=1&storageInfo=-47%3A1493795199%3A0%3ACID-a5152e6c-64ab-4978-9f1c-e4613a09454d org.apache.hadoop.hdfs.server.namenode.TransferFsImage$HttpGetFailedException: Fetch of http://int-iot-hadoop-fe-02.novalocal:8480/getJournal?jid=integration&segmentTxId=1&storageInfo=-47%3A1493795199%3A0%3ACID-a5152e6c-64ab-4978-9f1c-e4613a09454d failed with status code 500 Response message: getedit failed. java.lang.IllegalArgumentException: Does not contain a valid host:port authority: null at org.apache.hadoop.net.NetUtils.createSocketAddr(NetUtils.java:211) at org.apache.hadoop.net.NetUtils.createSocketAddr(NetUtils.java:163) at org.apache.hadoop.net.NetUtils.createSocketAddr(NetUtils.java:152) at org.apache.hadoop.hdfs.server.namenode.SecondaryNameNode.getHttpAddress(SecondaryNameNode.java:210) at org.apache.hadoop.hdfs.qjournal.server.GetJournalEditServlet.isValidRequestor(GetJournalEditServlet.java:93) at org.apache.hadoop.hdfs.qjournal.server.GetJournalEditServlet.checkRequestorOrSendError(GetJournalEditServlet.java:128) at org.apache.hadoop.hdfs.qjournal.server.GetJournalEditServlet.doGet(GetJournalEditServlet.java:174) at ...

問題は、実際には null に設定されているセカンダリ Namenode http アドレスを取得することですhdfs-site-xml(理由はわかりません)。

<property>
  <name>dfs.namenode.secondary.http-address</name>
  <value>null</value>
</property>

そのパラメーターの値を適切な値に設定しようとしましたが、何も機能しません:

  • hdfs-site.xmlファイルを手動で編集して実行hdfs namenodeしても、何も起こりません。
  • ファイルを手動で編集し、hdfs-site.xmlAmbari から HDFS 全体を開始しますが、何も起こりません。さらに、dfs.namenode.secondary.http-addressパラメーターは再び null に設定されます!
  • Ambari UI > HDFS サービス > 構成タブ >hdfs-site.xmlリスト > 新しいプロパティの追加... 問題はdfs.namenode.secondary.http-address、UI によってリストされていないということです。:)
  • /usr/lib/ambari-server/web/data/configuration/hdfs-site.json に値を追加しようとしましたが、これは Ambari が UI に表示される値を格納する場所である可能性があると考えましたが、成功。

また、HDFS サービスが Amabri UI から再起動されるたびにsite-XXXX.ppファイルが作成されることにも注意しました。これらのファイルのそれぞれに次のものが含まれていることがわかりました。/var/lib/ambari-agent/data/

[root@int-iot-hadoop-fe-02 ~]# cat /var/lib/ambari-agent/data/site-3228.pp | grep dfs.namenode.secondary.http-address
"dfs.namenode.secondary.http-address" => 'null',

このプロパティを構成するための他の候補ファイルは/var/lib/ambari-agent/puppet/modules/hdp-hadoop/manifests/params.pp. セクションがありますが、プロパティ### hdfs-siteに関連付けられている puppet 変数の名前がどれかわかりません。dfs.namenode.secondary.http-address

何か案は?ありがとう!

4

2 に答える 2