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.xml
Ambari から 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
何か案は?ありがとう!