Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Code Block
languagexml
titleHA Service Configurations Topology Excerpt
...
  <provider>
    <role>ha</role>
    <name>HaProvider</name>
    <enabled>true</enabled>
    <param>
      <name>WEBHDFS</name>
      <value>maxFailoverAttempts=3;failoverSleep=1000;maxRetryAttempts=300;retrySleep=1000;enabled=true</value>
    </param>
    <param>
      <name>HIVE</name>
      <value>maxFailoverAttempts=3;failoverSleep=1000;enabled=true;zookeeperEnsemble=c6801.ambari.apache.orghost1:2181,c6802.ambari.apache.orghost2:2181,c6803.ambari.apache.orghost3:2181;zookeeperNamespace=hiveserver2</value>
    </param>
  </provider>
</gateway>

<service>
  <role>WEBHDFS</role>
  <url>http://c6801.ambari.apache.org:50070/webhdfs</url>
  <url>http://c6802.ambari.apache.org:50070/webhdfs</url>
</service>
 
<service>
  <role>HIVE</role>
</service>
...

...

Service ConfigPropertyExample Value
hive-sitehive.zookeeper.quorumc6801.ambari.apache.orghost1:2181,c6802.ambari.apache.orghost2:2181,c6803.ambari.apache.orghost3:2181
 hive.server2.zookeeper.namespacehiveserver2
 hive.server2.support.dynamic.service.discoverytrue
hbase-sitehbase.zookeeper.quorumc6801.ambari.apache.orghost1:2181,c6802.ambari.apache.orghost2:2181,c6803.ambari.apache.orghost3:2181
 zookeeper.znode.parent/hbase-unsecure
kafka-brokerzookeeper.connectsandbox.hortonworks.com:2181
hdfs-siteha.zookeeper.quorumc6801.ambari.apache.orghost1:2181,c6802.ambari.apache.orghost2:2181,c6803.ambari.apache.orghost3:2181
 dfs.ha.automatic-failover.enabledtrue (only for "Auto HA")
oozie-siteoozie.zookeeper.connection.stringlocalhost:2181
 oozie.zookeeper.namespaceoozie
yarn-site
yarn.resourcemanager.ha.enabled
true
 
yarn.resourcemanager.zk-address
c6801.ambari.apache.orghost1:2181,c6802.ambari.apache.orghost2:2181,c6803.ambari.apache.orghost3:2181
webhcat-sitetempleton.zookeeper.hostsc6801.ambari.apache.orghost1:2181,c6802.ambari.apache.orghost2:2181,c6803.ambari.apache.orghost3:2181

 

Required Changes

  • Knox will parse referenced provider configurations, rather than just blindly copying their contents.
    This will serve multiple purposes:
    • It will provide a degree of validation (invalid provider configurations would fail parsing)
    • It will allow a finer level of control over what is serialized to the generated topology file:
      • Knox will have the opportunity to add cluster-specific details into provider configuration in the generated topologies
      • Knox could reference elements of the provider configuration (e.g., HaProvider) to inform the generation of service elements in the generated topologies.

...