2017年8月8日火曜日

Ambari 2.5.xでMetricが表示されない

Ambari Serverログにあるエラー

ERROR [ambari-metrics-retrieval-service-thread-6437] MetricsRetrievalService:421 - Unable to retrieve metrics from https://node2.localdomain:50070/jmx. Subsequent failures will be suppressed from the log for 20 minutes. 

AbstractProviderModule.java

String[] getPortProperties(Service.Type service, String componentName, String hostName, Map<String, Object> properties, boolean httpsEnabled) {
  componentName = httpsEnabled ? componentName + "-HTTPS" : componentName;
  if(componentName.startsWith("NAMENODE") && properties.containsKey("dfs.internal.nameservices")) {
    componentName += "-HA";
    return getNamenodeHaProperty(properties, serviceDesiredProperties.get(service).get(componentName), hostName);
  }
  return serviceDesiredProperties.get(service).get(componentName);
}


Map<String, String[]> initPropMap = new HashMap<String, String[]>();
initPropMap.put("NAMENODE", new String[]{"dfs.http.address", "dfs.namenode.http-address"});
initPropMap.put("NAMENODE-HTTPS", new String[]{"dfs.namenode.https-address", "dfs.https.port"});
initPropMap.put("NAMENODE-HA", new String[]{"dfs.namenode.http-address.%s.%s"});
initPropMap.put("NAMENODE-HTTPS-HA", new String[]{"dfs.namenode.https-address.%s.%s"});
initPropMap.put("DATANODE", new String[]{"dfs.datanode.http.address"});
initPropMap.put("DATANODE-HTTPS", new String[]{"dfs.datanode.https.address"});
initPropMap.put("JOURNALNODE-HTTPS", new String[]{"dfs.journalnode.https-address"});
initPropMap.put("JOURNALNODE", new String[]{"dfs.journalnode.http-address"});
serviceDesiredProperties.put(Service.Type.HDFS, initPropMap);
SSL/HTTPSを設定したのに、dfs.namenode.https-address.<nameservice>.nnXを忘れたため。。。
ちなみにAmbariは下記のプロパティでHAかどうかを判断します。
if (configProperties.containsKey("dfs.internal.nameservices")) {
  componentName += "-HA";

0 件のコメント:

コメントを投稿