private void initRpcSuffixes(String clusterName, String componentName,
                               String config, String configVersion,
                               String hostName, String publicHostName)
                              throws Exception {
    if (jmxDesiredRpcSuffixProperties.containsKey(componentName)) {
      Map<String, Map<String, String>> componentToPortsMap;
      if (jmxDesiredRpcSuffixes.containsKey(clusterName)) {
        componentToPortsMap = jmxDesiredRpcSuffixes.get(clusterName);
      } else {
        componentToPortsMap = new HashMap<>();
        componentToPortsMap.put(componentName, new HashMap<>());
        jmxDesiredRpcSuffixes.put(clusterName, componentToPortsMap);
      }

      Map<String, String> portToTagMap = componentToPortsMap.get(componentName);
      portToTagMap.clear();

      Map<String, String[]> keys = jmxDesiredRpcSuffixProperties.get(componentName);

      if ("NAMENODE".equals(componentName)) {
        Map<String, Object> configProperties = getConfigProperties(
          clusterName,
          configVersion,
          serviceConfigTypes.get(componentServiceMap.get(componentName))
        );
        if (configProperties.containsKey("dfs.internal.nameservices")) {
          componentName += "-HA";
          keys = jmxDesiredRpcSuffixProperties.get(componentName);
          Map<String, String[]> stringMap = jmxDesiredRpcSuffixProperties.get(componentName);
          for (String tag: stringMap.keySet()) {
            keys.put(tag, getNamenodeHaProperty(configProperties, stringMap.get(tag), hostName, publicHostName));
          }
        }
      }

      Map<String, String> props = getDesiredConfigMap(
        clusterName, configVersion, config,
        keys);
      for (Entry<String, String> prop: props.entrySet()) {
        if (prop.getValue() != null) {
          portToTagMap.put(getPortString(prop.getValue()).trim(), prop.getKey());
        }
      }
    }
  }
Create the Ganglia host component property provider for the given type.
ambari-server/src/main/java/org/apache/ambari/server/controller/internal/AbstractProviderModule.java