Author: more Date: Fri Oct 20 14:48:44 2017 New Revision: 1812752 URL: http://svn.apache.org/viewvc?rev=1812752&view=rev Log: KNOX-1053 - Document Support for Apache SOLR + HA Support for HBase & Kafka (Rick Kellogg via Sandeep More)
Added: knox/trunk/books/0.14.0/service_solr.md Modified: knox/site/books/knox-0-10-0/deployment-overview.png knox/site/books/knox-0-10-0/deployment-provider.png knox/site/books/knox-0-10-0/deployment-service.png knox/site/books/knox-0-10-0/general_saml_flow.png knox/site/books/knox-0-10-0/runtime-overview.png knox/site/books/knox-0-10-0/runtime-request-processing.png knox/site/books/knox-0-11-0/deployment-overview.png knox/site/books/knox-0-11-0/deployment-provider.png knox/site/books/knox-0-11-0/deployment-service.png knox/site/books/knox-0-11-0/general_saml_flow.png knox/site/books/knox-0-11-0/runtime-overview.png knox/site/books/knox-0-11-0/runtime-request-processing.png knox/site/books/knox-0-12-0/deployment-overview.png knox/site/books/knox-0-12-0/deployment-provider.png knox/site/books/knox-0-12-0/deployment-service.png knox/site/books/knox-0-12-0/general_saml_flow.png knox/site/books/knox-0-12-0/runtime-overview.png knox/site/books/knox-0-12-0/runtime-request-processing.png knox/site/books/knox-0-13-0/deployment-overview.png knox/site/books/knox-0-13-0/deployment-provider.png knox/site/books/knox-0-13-0/deployment-service.png knox/site/books/knox-0-13-0/general_saml_flow.png knox/site/books/knox-0-13-0/runtime-overview.png knox/site/books/knox-0-13-0/runtime-request-processing.png knox/site/books/knox-0-14-0/user-guide.html knox/site/books/knox-0-4-0/deployment-overview.png knox/site/books/knox-0-4-0/deployment-provider.png knox/site/books/knox-0-4-0/deployment-service.png knox/site/books/knox-0-4-0/runtime-overview.png knox/site/books/knox-0-4-0/runtime-request-processing.png knox/site/books/knox-0-5-0/deployment-overview.png knox/site/books/knox-0-5-0/deployment-provider.png knox/site/books/knox-0-5-0/deployment-service.png knox/site/books/knox-0-5-0/runtime-overview.png knox/site/books/knox-0-5-0/runtime-request-processing.png knox/site/books/knox-0-6-0/deployment-overview.png knox/site/books/knox-0-6-0/deployment-provider.png knox/site/books/knox-0-6-0/deployment-service.png knox/site/books/knox-0-6-0/runtime-overview.png knox/site/books/knox-0-6-0/runtime-request-processing.png knox/site/books/knox-0-7-0/deployment-overview.png knox/site/books/knox-0-7-0/deployment-provider.png knox/site/books/knox-0-7-0/deployment-service.png knox/site/books/knox-0-7-0/general_saml_flow.png knox/site/books/knox-0-7-0/runtime-overview.png knox/site/books/knox-0-7-0/runtime-request-processing.png knox/site/books/knox-0-8-0/deployment-overview.png knox/site/books/knox-0-8-0/deployment-provider.png knox/site/books/knox-0-8-0/deployment-service.png knox/site/books/knox-0-8-0/general_saml_flow.png knox/site/books/knox-0-8-0/runtime-overview.png knox/site/books/knox-0-8-0/runtime-request-processing.png knox/site/books/knox-0-9-0/deployment-overview.png knox/site/books/knox-0-9-0/deployment-provider.png knox/site/books/knox-0-9-0/deployment-service.png knox/site/books/knox-0-9-0/general_saml_flow.png knox/site/books/knox-0-9-0/runtime-overview.png knox/site/books/knox-0-9-0/runtime-request-processing.png knox/site/books/knox-0-9-1/deployment-overview.png knox/site/books/knox-0-9-1/deployment-provider.png knox/site/books/knox-0-9-1/deployment-service.png knox/site/books/knox-0-9-1/general_saml_flow.png knox/site/books/knox-0-9-1/runtime-overview.png knox/site/books/knox-0-9-1/runtime-request-processing.png knox/site/index.html knox/site/issue-tracking.html knox/site/license.html knox/site/mail-lists.html knox/site/project-info.html knox/site/team-list.html knox/trunk/books/0.14.0/book.md knox/trunk/books/0.14.0/book_getting-started.md knox/trunk/books/0.14.0/book_service-details.md knox/trunk/books/0.14.0/service_hbase.md knox/trunk/books/0.14.0/service_kafka.md knox/trunk/build.xml Modified: knox/site/books/knox-0-10-0/deployment-overview.png URL: http://svn.apache.org/viewvc/knox/site/books/knox-0-10-0/deployment-overview.png?rev=1812752&r1=1812751&r2=1812752&view=diff ============================================================================== Binary files - no diff available. Modified: knox/site/books/knox-0-10-0/deployment-provider.png URL: http://svn.apache.org/viewvc/knox/site/books/knox-0-10-0/deployment-provider.png?rev=1812752&r1=1812751&r2=1812752&view=diff ============================================================================== Binary files - no diff available. Modified: knox/site/books/knox-0-10-0/deployment-service.png URL: http://svn.apache.org/viewvc/knox/site/books/knox-0-10-0/deployment-service.png?rev=1812752&r1=1812751&r2=1812752&view=diff ============================================================================== Binary files - no diff available. Modified: knox/site/books/knox-0-10-0/general_saml_flow.png URL: http://svn.apache.org/viewvc/knox/site/books/knox-0-10-0/general_saml_flow.png?rev=1812752&r1=1812751&r2=1812752&view=diff ============================================================================== Binary files - no diff available. Modified: knox/site/books/knox-0-10-0/runtime-overview.png URL: http://svn.apache.org/viewvc/knox/site/books/knox-0-10-0/runtime-overview.png?rev=1812752&r1=1812751&r2=1812752&view=diff ============================================================================== Binary files - no diff available. Modified: knox/site/books/knox-0-10-0/runtime-request-processing.png URL: http://svn.apache.org/viewvc/knox/site/books/knox-0-10-0/runtime-request-processing.png?rev=1812752&r1=1812751&r2=1812752&view=diff ============================================================================== Binary files - no diff available. Modified: knox/site/books/knox-0-11-0/deployment-overview.png URL: http://svn.apache.org/viewvc/knox/site/books/knox-0-11-0/deployment-overview.png?rev=1812752&r1=1812751&r2=1812752&view=diff ============================================================================== Binary files - no diff available. Modified: knox/site/books/knox-0-11-0/deployment-provider.png URL: http://svn.apache.org/viewvc/knox/site/books/knox-0-11-0/deployment-provider.png?rev=1812752&r1=1812751&r2=1812752&view=diff ============================================================================== Binary files - no diff available. Modified: knox/site/books/knox-0-11-0/deployment-service.png URL: http://svn.apache.org/viewvc/knox/site/books/knox-0-11-0/deployment-service.png?rev=1812752&r1=1812751&r2=1812752&view=diff ============================================================================== Binary files - no diff available. Modified: knox/site/books/knox-0-11-0/general_saml_flow.png URL: http://svn.apache.org/viewvc/knox/site/books/knox-0-11-0/general_saml_flow.png?rev=1812752&r1=1812751&r2=1812752&view=diff ============================================================================== Binary files - no diff available. Modified: knox/site/books/knox-0-11-0/runtime-overview.png URL: http://svn.apache.org/viewvc/knox/site/books/knox-0-11-0/runtime-overview.png?rev=1812752&r1=1812751&r2=1812752&view=diff ============================================================================== Binary files - no diff available. Modified: knox/site/books/knox-0-11-0/runtime-request-processing.png URL: http://svn.apache.org/viewvc/knox/site/books/knox-0-11-0/runtime-request-processing.png?rev=1812752&r1=1812751&r2=1812752&view=diff ============================================================================== Binary files - no diff available. Modified: knox/site/books/knox-0-12-0/deployment-overview.png URL: http://svn.apache.org/viewvc/knox/site/books/knox-0-12-0/deployment-overview.png?rev=1812752&r1=1812751&r2=1812752&view=diff ============================================================================== Binary files - no diff available. Modified: knox/site/books/knox-0-12-0/deployment-provider.png URL: http://svn.apache.org/viewvc/knox/site/books/knox-0-12-0/deployment-provider.png?rev=1812752&r1=1812751&r2=1812752&view=diff ============================================================================== Binary files - no diff available. Modified: knox/site/books/knox-0-12-0/deployment-service.png URL: http://svn.apache.org/viewvc/knox/site/books/knox-0-12-0/deployment-service.png?rev=1812752&r1=1812751&r2=1812752&view=diff ============================================================================== Binary files - no diff available. Modified: knox/site/books/knox-0-12-0/general_saml_flow.png URL: http://svn.apache.org/viewvc/knox/site/books/knox-0-12-0/general_saml_flow.png?rev=1812752&r1=1812751&r2=1812752&view=diff ============================================================================== Binary files - no diff available. Modified: knox/site/books/knox-0-12-0/runtime-overview.png URL: http://svn.apache.org/viewvc/knox/site/books/knox-0-12-0/runtime-overview.png?rev=1812752&r1=1812751&r2=1812752&view=diff ============================================================================== Binary files - no diff available. Modified: knox/site/books/knox-0-12-0/runtime-request-processing.png URL: http://svn.apache.org/viewvc/knox/site/books/knox-0-12-0/runtime-request-processing.png?rev=1812752&r1=1812751&r2=1812752&view=diff ============================================================================== Binary files - no diff available. Modified: knox/site/books/knox-0-13-0/deployment-overview.png URL: http://svn.apache.org/viewvc/knox/site/books/knox-0-13-0/deployment-overview.png?rev=1812752&r1=1812751&r2=1812752&view=diff ============================================================================== Binary files - no diff available. Modified: knox/site/books/knox-0-13-0/deployment-provider.png URL: http://svn.apache.org/viewvc/knox/site/books/knox-0-13-0/deployment-provider.png?rev=1812752&r1=1812751&r2=1812752&view=diff ============================================================================== Binary files - no diff available. Modified: knox/site/books/knox-0-13-0/deployment-service.png URL: http://svn.apache.org/viewvc/knox/site/books/knox-0-13-0/deployment-service.png?rev=1812752&r1=1812751&r2=1812752&view=diff ============================================================================== Binary files - no diff available. Modified: knox/site/books/knox-0-13-0/general_saml_flow.png URL: http://svn.apache.org/viewvc/knox/site/books/knox-0-13-0/general_saml_flow.png?rev=1812752&r1=1812751&r2=1812752&view=diff ============================================================================== Binary files - no diff available. Modified: knox/site/books/knox-0-13-0/runtime-overview.png URL: http://svn.apache.org/viewvc/knox/site/books/knox-0-13-0/runtime-overview.png?rev=1812752&r1=1812751&r2=1812752&view=diff ============================================================================== Binary files - no diff available. Modified: knox/site/books/knox-0-13-0/runtime-request-processing.png URL: http://svn.apache.org/viewvc/knox/site/books/knox-0-13-0/runtime-request-processing.png?rev=1812752&r1=1812751&r2=1812752&view=diff ============================================================================== Binary files - no diff available. Modified: knox/site/books/knox-0-14-0/user-guide.html URL: http://svn.apache.org/viewvc/knox/site/books/knox-0-14-0/user-guide.html?rev=1812752&r1=1812751&r2=1812752&view=diff ============================================================================== --- knox/site/books/knox-0-14-0/user-guide.html (original) +++ knox/site/books/knox-0-14-0/user-guide.html Fri Oct 20 14:48:44 2017 @@ -91,6 +91,7 @@ <li><a href="#Yarn">Yarn</a></li> <li><a href="#Kafka">Kafka</a></li> <li><a href="#Storm">Storm</a></li> + <li><a href="#SOLR">SOLR</a></li> <li><a href="#Avatica">Avatica</a></li> <li><a href="#Common+Service+Config">Common Service Config</a></li> <li><a href="#Default+Service+HA+support">Default Service HA support</a></li> @@ -363,6 +364,13 @@ curl -i -k -u guest:guest-password -X GE <td><img src="error.png" alt="n"/> </td> <td><img src="error.png" alt="n"/></td> </tr> + <tr> + <td>SOLR </td> + <td>5.5+ and 6+ </td> + <td><img src="check.png" alt="y"/> </td> + <td><img src="error.png" alt="n"/> </td> + <td><img src="check.png" alt="y"/></td> + </tr> </tbody> </table><h3><a id="More+Examples">More Examples</a> <a href="#More+Examples"><img src="markbook-section-link.png"/></a></h3><p>These examples provide more detail about how to access various Apache Hadoop services via the Apache Knox Gateway.</p> <ul> @@ -3643,6 +3651,7 @@ dep/commons-codec-1.7.jar <li><a href="#Yarn">Yarn</a></li> <li><a href="#Kafka">Kafka</a></li> <li><a href="#Storm">Storm</a></li> + <li><a href="#SOLR">SOLR</a></li> <li><a href="#Avatica">Avatica</a></li> </ul><h3><a id="Assumptions">Assumptions</a> <a href="#Assumptions"><img src="markbook-section-link.png"/></a></h3><p>This document assumes a few things about your environment in order to simplify the examples.</p> <ul> @@ -4691,7 +4700,27 @@ session.shutdown(10, SECONDS) </code></pre><h4><a id="Delete+table">Delete table</a> <a href="#Delete+table"><img src="markbook-section-link.png"/></a></h4> <pre><code>curl -ik -u guest:guest-password\ -X DELETE 'https://localhost:8443/gateway/sandbox/hbase/table1/schema' -</code></pre><h3><a id="HBase+REST+HA">HBase REST HA</a> <a href="#HBase+REST+HA"><img src="markbook-section-link.png"/></a></h3><p>Please look at <a href="#Default+Service+HA+support">Default Service HA support</a></p><h3><a id="Hive">Hive</a> <a href="#Hive"><img src="markbook-section-link.png"/></a></h3><p>The <a href="https://cwiki.apache.org/confluence/display/Hive/Home">Hive wiki pages</a> describe Hive installation and configuration processes. In sandbox configuration file for Hive is located at <code>/etc/hive/hive-site.xml</code>. Hive Server has to be started in HTTP mode. Note the properties shown below as they are related to configuration required by the gateway.</p> +</code></pre><h3><a id="HBase+REST+HA">HBase REST HA</a> <a href="#HBase+REST+HA"><img src="markbook-section-link.png"/></a></h3><p>Please look at <a href="#Default+Service+HA+support">Default Service HA support</a> if you wish to explicitly list the URLs under the service definition.</p><p>If you run the HBase REST Server from the HBase Region Server nodes, you can utilize more advanced HA support. The HBase REST Server does not register itself with ZooKeeper. So the Knox HA component looks in ZooKeeper for instances of HBase Region Servers and then performs a light weight ping for the presence of the REST Server on the same hosts. The user should not supply URLs in the service definition. </p><p>Note: Users of Ambari must manually startup the HBase REST Server.</p><p>To enable HA functionality for HBase in Knox the following configuration has to be added to the topology file.</p> +<pre><code><provider> + <role>ha</role> + <name>HaProvider</name> + <enabled>true</enabled> + <param> + <name>WEBHBASE</name> + <value>maxFailoverAttempts=3;failoverSleep=1000;enabled=true;zookeeperEnsemble=machine1:2181,machine2:2181,machine3:2181</value> + </param> +</provider> +</code></pre><p>The role and name of the provider above must be as shown. The name in the ‘param’ section must match that of the service role name that is being configured for HA and the value in the ‘param’ section is the configuration for that particular service in HA mode. In this case the name is ‘WEBHBASE’.</p><p>The various configuration parameters are described below:</p> +<ul> + <li><p>maxFailoverAttempts - This is the maximum number of times a failover will be attempted. The failover strategy at this time is very simplistic in that the next URL in the list of URLs provided for the service is used and the one that failed is put at the bottom of the list. If the list is exhausted and the maximum number of attempts is not reached then the first URL will be tried again after the list is fetched again from Zookeeper (a refresh of the list is done at this point)</p></li> + <li><p>failoverSleep - The amount of time in millis that the process will wait or sleep before attempting to failover.</p></li> + <li><p>enabled - Flag to turn the particular service on or off for HA.</p></li> + <li><p>zookeeperEnsemble - A comma separated list of host names (or IP addresses) of the ZooKeeper hosts that consist of the ensemble that the HBase servers register their information with. </p></li> +</ul><p>And for the service configuration itself the URLs need NOT be added to the list. For example:</p> +<pre><code><service> + <role>WEBHBASE</role> +</service> +</code></pre><p>Please note that there is no <code><url></code> tag specified here as the URLs for the Kafka servers are obtained from ZooKeeper.</p><h3><a id="Hive">Hive</a> <a href="#Hive"><img src="markbook-section-link.png"/></a></h3><p>The <a href="https://cwiki.apache.org/confluence/display/Hive/Home">Hive wiki pages</a> describe Hive installation and configuration processes. In sandbox configuration file for Hive is located at <code>/etc/hive/hive-site.xml</code>. Hive Server has to be started in HTTP mode. Note the properties shown below as they are related to configuration required by the gateway.</p> <pre><code><property> <name>hive.server2.thrift.http.port</name> <value>10001</value> @@ -5044,7 +5073,27 @@ curl -ikv -u guest:guest-password -X GET # 1. Publish message to topic curl -ikv -u guest:guest-password -X POST 'https://localhost:8443/gateway/sandbox/kafka/topics/TOPIC1' -H 'Content-Type: application/vnd.kafka.json.v2+json' -H 'Accept: application/vnd.kafka.v2+json' --data '"records":[{"value":{"foo":"bar"}}]}' -</code></pre><h3><a id="Storm">Storm</a> <a href="#Storm"><img src="markbook-section-link.png"/></a></h3><p>Storm is a distributed realtime computation system. Storm exposes REST APIs for UI functionality that can be used for retrieving metrics data and configuration information as well as management operations such as starting or stopping topologies.</p><p>The docs for this can be found here</p><p><a href="https://github.com/apache/storm/blob/master/docs/STORM-UI-REST-API.md">https://github.com/apache/storm/blob/master/docs/STORM-UI-REST-API.md</a></p><p>To enable this functionality, a topology file needs to have the following configuration:</p> +</code></pre><h3><a id="Kafka+HA">Kafka HA</a> <a href="#Kafka+HA"><img src="markbook-section-link.png"/></a></h3><p>Knox provides basic failover functionality for calls made to Kafka. Since the Confluent Kafka REST Proxy does not register itself with ZooKeeper, the HA component looks in ZooKeeper for instances of Kafka and then performs a light weight ping for the presence of the REST Proxy on the same hosts. As such the Kafka REST Proxy must be installed on the same host as Kafka. The user should not supply URLs in the service definition. </p><p>Note: Users of Ambari must manually startup the Confluent Kafka REST Proxy.</p><p>To enable HA functionality for Kafka in Knox the following configuration has to be added to the topology file.</p> +<pre><code><provider> + <role>ha</role> + <name>HaProvider</name> + <enabled>true</enabled> + <param> + <name>KAFKA</name> + <value>maxFailoverAttempts=3;failoverSleep=1000;enabled=true;zookeeperEnsemble=machine1:2181,machine2:2181,machine3:2181</value> + </param> +</provider> +</code></pre><p>The role and name of the provider above must be as shown. The name in the ‘param’ section must match that of the service role name that is being configured for HA and the value in the ‘param’ section is the configuration for that particular service in HA mode. In this case the name is ‘KAFKA’.</p><p>The various configuration parameters are described below:</p> +<ul> + <li><p>maxFailoverAttempts - This is the maximum number of times a failover will be attempted. The failover strategy at this time is very simplistic in that the next URL in the list of URLs provided for the service is used and the one that failed is put at the bottom of the list. If the list is exhausted and the maximum number of attempts is not reached then the first URL will be tried again after the list is fetched again from Zookeeper (a refresh of the list is done at this point)</p></li> + <li><p>failoverSleep - The amount of time in millis that the process will wait or sleep before attempting to failover.</p></li> + <li><p>enabled - Flag to turn the particular service on or off for HA.</p></li> + <li><p>zookeeperEnsemble - A comma separated list of host names (or IP addresses) of the ZooKeeper hosts that consist of the ensemble that the Kafka servers register their information with. </p></li> +</ul><p>And for the service configuration itself the URLs need NOT be added to the list. For example:</p> +<pre><code><service> + <role>KAFKA</role> +</service> +</code></pre><p>Please note that there is no <code><url></code> tag specified here as the URLs for the Kafka servers are obtained from ZooKeeper.</p><h3><a id="Storm">Storm</a> <a href="#Storm"><img src="markbook-section-link.png"/></a></h3><p>Storm is a distributed realtime computation system. Storm exposes REST APIs for UI functionality that can be used for retrieving metrics data and configuration information as well as management operations such as starting or stopping topologies.</p><p>The docs for this can be found here</p><p><a href="https://github.com/apache/storm/blob/master/docs/STORM-UI-REST-API.md">https://github.com/apache/storm/blob/master/docs/STORM-UI-REST-API.md</a></p><p>To enable this functionality, a topology file needs to have the following configuration:</p> <pre><code><service> <role>STORM</role> <url>http://<hostname>:<port></url> @@ -5122,7 +5171,56 @@ curl -ik -b ~/cookiejar.txt -c ~/cookiej curl -ik -b ~/cookiejar.txt -c ~/cookiejar.txt -u guest:guest-password -H 'x-csrf-token:{token-value}' -X POST \ http://localhost:8744/api/v1/topology/{id}/kill/0 -</code></pre><h3><a id="Common+Service+Config">Common Service Config</a> <a href="#Common+Service+Config"><img src="markbook-section-link.png"/></a></h3><p>It is possible to override a few of the global configuration settings provided in gateway-site.xml at the service level. These overrides are specified as name/value pairs within the <service> elements of a particular service. The overidden settings apply only to that service.</p><p>The following table shows the common configuration settings available at the service level via service level parameters. Individual services may support additional service level parameters.</p> +</code></pre><h3><a id="SOLR">SOLR</a> <a href="#SOLR"><img src="markbook-section-link.png"/></a></h3><p>Knox provides gateway functionality to SOLR with support for versions 5.5+ and 6+. The SOLR REST APIs allow the user to view the status of the collections, perform administrative actions and query collections.</p><p>See the SOLR Quickstart (<a href="http://lucene.apache.org/solr/quickstart.html">http://lucene.apache.org/solr/quickstart.html</a>) section of the SOLR documentation for examples of the SOLR REST API.</p><p>Since Knox provides an abstraction over SOLR and ZooKeeper, the use of the SOLRJ CloudSolrClient is no longer supported. You should replace instances of CloudSolrClient with HttpSolrClient.</p> +<p>Note: Updates to SOLR via Knox require a POST operation require the use of preemptive authentication which is not directly supported by the +SOLRJ API at this time.</p><p>To enable this functionality, a topology file needs to have the following configuration:</p> +<pre><code><service> + <role>SOLR</role> + <version>6.0.0</version> + <url>http://<solr-host>:<solr-port></url> +</service> +</code></pre><p>The default SOLR port is 8983. Adjust the version specified to either ’5.5.0 or ‘6.0.0’.</p><h4><a id="SOLR+URL+Mapping">SOLR URL Mapping</a> <a href="#SOLR+URL+Mapping"><img src="markbook-section-link.png"/></a></h4><p>For SOLR URLs, the mapping of Knox Gateway accessible URLs to direct SOLR URLs is the following.</p> +<table> + <tbody> + <tr> + <td>Gateway </td> + <td><code>https://{gateway-host}:{gateway-port}/{gateway-path}/{cluster-name}/solr</code> </td> + </tr> + <tr> + <td>Cluster </td> + <td><code>http://{solr-host}:{solr-port}/solr</code> </td> + </tr> + </tbody> +</table><h4><a id="SOLR+Examples+via+cURL">SOLR Examples via cURL</a> <a href="#SOLR+Examples+via+cURL"><img src="markbook-section-link.png"/></a></h4><p>Some of the various calls that can be made and examples using curl are listed below.</p> +<pre><code># 0. Query collection + +curl -ikv -u guest:guest-password -X GET 'https://localhost:8443/gateway/sandbox/solr/select?q=*:*&wt=json' + +# 1. Query cluster status + +curl -ikv -u guest:guest-password -X POST 'https://localhost:8443/gateway/sandbox/solr/admin/collections?action=CLUSTERSTATUS' +</code></pre><h3><a id="SOLR+HA">SOLR HA</a> <a href="#SOLR+HA"><img src="markbook-section-link.png"/></a></h3><p>Knox provides basic failover functionality for calls made to SOLR Cloud when more than one SOLR instance is installed in the cluster and registered with the same Zookeeper ensemble. The HA functionality in this case fetches the SOLR URL information from a Zookeeper ensemble, so the user need only supply the necessary Zookeeper configuration and not the SOLR connection URLs.</p><p>To enable HA functionality for SOLR Cloud in Knox the following configuration has to be added to the topology file.</p> +<pre><code><provider> + <role>ha</role> + <name>HaProvider</name> + <enabled>true</enabled> + <param> + <name>SOLR</name> + <value>maxFailoverAttempts=3;failoverSleep=1000;enabled=true;zookeeperEnsemble=machine1:2181,machine2:2181,machine3:2181</value> + </param> +</provider> +</code></pre><p>The role and name of the provider above must be as shown. The name in the ‘param’ section must match that of the service role name that is being configured for HA and the value in the ‘param’ section is the configuration for that particular service in HA mode. In this case the name is ‘SOLR’.</p><p>The various configuration parameters are described below:</p> +<ul> + <li><p>maxFailoverAttempts - This is the maximum number of times a failover will be attempted. The failover strategy at this time is very simplistic in that the next URL in the list of URLs provided for the service is used and the one that failed is put at the bottom of the list. If the list is exhausted and the maximum number of attempts is not reached then the first URL will be tried again after the list is fetched again from Zookeeper (a refresh of the list is done at this point)</p></li> + <li><p>failoverSleep - The amount of time in millis that the process will wait or sleep before attempting to failover.</p></li> + <li><p>enabled - Flag to turn the particular service on or off for HA.</p></li> + <li><p>zookeeperEnsemble - A comma separated list of host names (or IP addresses) of the zookeeper hosts that consist of the ensemble that the SOLR servers register their information with. </p></li> +</ul><p>And for the service configuration itself the URLs need NOT be added to the list. For example.</p> +<pre><code><service> + <role>SOLR</role> + <version>6.0.0</version> +</service> +</code></pre><p>Please note that there is no <code><url></code> tag specified here as the URLs for the SOLR servers are obtained from Zookeeper.</p><h3><a id="Common+Service+Config">Common Service Config</a> <a href="#Common+Service+Config"><img src="markbook-section-link.png"/></a></h3><p>It is possible to override a few of the global configuration settings provided in gateway-site.xml at the service level. These overrides are specified as name/value pairs within the <service> elements of a particular service. The overidden settings apply only to that service.</p><p>The following table shows the common configuration settings available at the service level via service level parameters. Individual services may support additional service level parameters.</p> <table> <thead> <tr> Modified: knox/site/books/knox-0-4-0/deployment-overview.png URL: http://svn.apache.org/viewvc/knox/site/books/knox-0-4-0/deployment-overview.png?rev=1812752&r1=1812751&r2=1812752&view=diff ============================================================================== Binary files - no diff available. Modified: knox/site/books/knox-0-4-0/deployment-provider.png URL: http://svn.apache.org/viewvc/knox/site/books/knox-0-4-0/deployment-provider.png?rev=1812752&r1=1812751&r2=1812752&view=diff ============================================================================== Binary files - no diff available. Modified: knox/site/books/knox-0-4-0/deployment-service.png URL: http://svn.apache.org/viewvc/knox/site/books/knox-0-4-0/deployment-service.png?rev=1812752&r1=1812751&r2=1812752&view=diff ============================================================================== Binary files - no diff available. Modified: knox/site/books/knox-0-4-0/runtime-overview.png URL: http://svn.apache.org/viewvc/knox/site/books/knox-0-4-0/runtime-overview.png?rev=1812752&r1=1812751&r2=1812752&view=diff ============================================================================== Binary files - no diff available. Modified: knox/site/books/knox-0-4-0/runtime-request-processing.png URL: http://svn.apache.org/viewvc/knox/site/books/knox-0-4-0/runtime-request-processing.png?rev=1812752&r1=1812751&r2=1812752&view=diff ============================================================================== Binary files - no diff available. Modified: knox/site/books/knox-0-5-0/deployment-overview.png URL: http://svn.apache.org/viewvc/knox/site/books/knox-0-5-0/deployment-overview.png?rev=1812752&r1=1812751&r2=1812752&view=diff ============================================================================== Binary files - no diff available. Modified: knox/site/books/knox-0-5-0/deployment-provider.png URL: http://svn.apache.org/viewvc/knox/site/books/knox-0-5-0/deployment-provider.png?rev=1812752&r1=1812751&r2=1812752&view=diff ============================================================================== Binary files - no diff available. Modified: knox/site/books/knox-0-5-0/deployment-service.png URL: http://svn.apache.org/viewvc/knox/site/books/knox-0-5-0/deployment-service.png?rev=1812752&r1=1812751&r2=1812752&view=diff ============================================================================== Binary files - no diff available. Modified: knox/site/books/knox-0-5-0/runtime-overview.png URL: http://svn.apache.org/viewvc/knox/site/books/knox-0-5-0/runtime-overview.png?rev=1812752&r1=1812751&r2=1812752&view=diff ============================================================================== Binary files - no diff available. Modified: knox/site/books/knox-0-5-0/runtime-request-processing.png URL: http://svn.apache.org/viewvc/knox/site/books/knox-0-5-0/runtime-request-processing.png?rev=1812752&r1=1812751&r2=1812752&view=diff ============================================================================== Binary files - no diff available. Modified: knox/site/books/knox-0-6-0/deployment-overview.png URL: http://svn.apache.org/viewvc/knox/site/books/knox-0-6-0/deployment-overview.png?rev=1812752&r1=1812751&r2=1812752&view=diff ============================================================================== Binary files - no diff available. Modified: knox/site/books/knox-0-6-0/deployment-provider.png URL: http://svn.apache.org/viewvc/knox/site/books/knox-0-6-0/deployment-provider.png?rev=1812752&r1=1812751&r2=1812752&view=diff ============================================================================== Binary files - no diff available. Modified: knox/site/books/knox-0-6-0/deployment-service.png URL: http://svn.apache.org/viewvc/knox/site/books/knox-0-6-0/deployment-service.png?rev=1812752&r1=1812751&r2=1812752&view=diff ============================================================================== Binary files - no diff available. Modified: knox/site/books/knox-0-6-0/runtime-overview.png URL: http://svn.apache.org/viewvc/knox/site/books/knox-0-6-0/runtime-overview.png?rev=1812752&r1=1812751&r2=1812752&view=diff ============================================================================== Binary files - no diff available. Modified: knox/site/books/knox-0-6-0/runtime-request-processing.png URL: http://svn.apache.org/viewvc/knox/site/books/knox-0-6-0/runtime-request-processing.png?rev=1812752&r1=1812751&r2=1812752&view=diff ============================================================================== Binary files - no diff available. Modified: knox/site/books/knox-0-7-0/deployment-overview.png URL: http://svn.apache.org/viewvc/knox/site/books/knox-0-7-0/deployment-overview.png?rev=1812752&r1=1812751&r2=1812752&view=diff ============================================================================== Binary files - no diff available. Modified: knox/site/books/knox-0-7-0/deployment-provider.png URL: http://svn.apache.org/viewvc/knox/site/books/knox-0-7-0/deployment-provider.png?rev=1812752&r1=1812751&r2=1812752&view=diff ============================================================================== Binary files - no diff available. Modified: knox/site/books/knox-0-7-0/deployment-service.png URL: http://svn.apache.org/viewvc/knox/site/books/knox-0-7-0/deployment-service.png?rev=1812752&r1=1812751&r2=1812752&view=diff ============================================================================== Binary files - no diff available. Modified: knox/site/books/knox-0-7-0/general_saml_flow.png URL: http://svn.apache.org/viewvc/knox/site/books/knox-0-7-0/general_saml_flow.png?rev=1812752&r1=1812751&r2=1812752&view=diff ============================================================================== Binary files - no diff available. Modified: knox/site/books/knox-0-7-0/runtime-overview.png URL: http://svn.apache.org/viewvc/knox/site/books/knox-0-7-0/runtime-overview.png?rev=1812752&r1=1812751&r2=1812752&view=diff ============================================================================== Binary files - no diff available. Modified: knox/site/books/knox-0-7-0/runtime-request-processing.png URL: http://svn.apache.org/viewvc/knox/site/books/knox-0-7-0/runtime-request-processing.png?rev=1812752&r1=1812751&r2=1812752&view=diff ============================================================================== Binary files - no diff available. Modified: knox/site/books/knox-0-8-0/deployment-overview.png URL: http://svn.apache.org/viewvc/knox/site/books/knox-0-8-0/deployment-overview.png?rev=1812752&r1=1812751&r2=1812752&view=diff ============================================================================== Binary files - no diff available. Modified: knox/site/books/knox-0-8-0/deployment-provider.png URL: http://svn.apache.org/viewvc/knox/site/books/knox-0-8-0/deployment-provider.png?rev=1812752&r1=1812751&r2=1812752&view=diff ============================================================================== Binary files - no diff available. Modified: knox/site/books/knox-0-8-0/deployment-service.png URL: http://svn.apache.org/viewvc/knox/site/books/knox-0-8-0/deployment-service.png?rev=1812752&r1=1812751&r2=1812752&view=diff ============================================================================== Binary files - no diff available. Modified: knox/site/books/knox-0-8-0/general_saml_flow.png URL: http://svn.apache.org/viewvc/knox/site/books/knox-0-8-0/general_saml_flow.png?rev=1812752&r1=1812751&r2=1812752&view=diff ============================================================================== Binary files - no diff available. Modified: knox/site/books/knox-0-8-0/runtime-overview.png URL: http://svn.apache.org/viewvc/knox/site/books/knox-0-8-0/runtime-overview.png?rev=1812752&r1=1812751&r2=1812752&view=diff ============================================================================== Binary files - no diff available. Modified: knox/site/books/knox-0-8-0/runtime-request-processing.png URL: http://svn.apache.org/viewvc/knox/site/books/knox-0-8-0/runtime-request-processing.png?rev=1812752&r1=1812751&r2=1812752&view=diff ============================================================================== Binary files - no diff available. Modified: knox/site/books/knox-0-9-0/deployment-overview.png URL: http://svn.apache.org/viewvc/knox/site/books/knox-0-9-0/deployment-overview.png?rev=1812752&r1=1812751&r2=1812752&view=diff ============================================================================== Binary files - no diff available. Modified: knox/site/books/knox-0-9-0/deployment-provider.png URL: http://svn.apache.org/viewvc/knox/site/books/knox-0-9-0/deployment-provider.png?rev=1812752&r1=1812751&r2=1812752&view=diff ============================================================================== Binary files - no diff available. Modified: knox/site/books/knox-0-9-0/deployment-service.png URL: http://svn.apache.org/viewvc/knox/site/books/knox-0-9-0/deployment-service.png?rev=1812752&r1=1812751&r2=1812752&view=diff ============================================================================== Binary files - no diff available. Modified: knox/site/books/knox-0-9-0/general_saml_flow.png URL: http://svn.apache.org/viewvc/knox/site/books/knox-0-9-0/general_saml_flow.png?rev=1812752&r1=1812751&r2=1812752&view=diff ============================================================================== Binary files - no diff available. Modified: knox/site/books/knox-0-9-0/runtime-overview.png URL: http://svn.apache.org/viewvc/knox/site/books/knox-0-9-0/runtime-overview.png?rev=1812752&r1=1812751&r2=1812752&view=diff ============================================================================== Binary files - no diff available. Modified: knox/site/books/knox-0-9-0/runtime-request-processing.png URL: http://svn.apache.org/viewvc/knox/site/books/knox-0-9-0/runtime-request-processing.png?rev=1812752&r1=1812751&r2=1812752&view=diff ============================================================================== Binary files - no diff available. Modified: knox/site/books/knox-0-9-1/deployment-overview.png URL: http://svn.apache.org/viewvc/knox/site/books/knox-0-9-1/deployment-overview.png?rev=1812752&r1=1812751&r2=1812752&view=diff ============================================================================== Binary files - no diff available. Modified: knox/site/books/knox-0-9-1/deployment-provider.png URL: http://svn.apache.org/viewvc/knox/site/books/knox-0-9-1/deployment-provider.png?rev=1812752&r1=1812751&r2=1812752&view=diff ============================================================================== Binary files - no diff available. Modified: knox/site/books/knox-0-9-1/deployment-service.png URL: http://svn.apache.org/viewvc/knox/site/books/knox-0-9-1/deployment-service.png?rev=1812752&r1=1812751&r2=1812752&view=diff ============================================================================== Binary files - no diff available. Modified: knox/site/books/knox-0-9-1/general_saml_flow.png URL: http://svn.apache.org/viewvc/knox/site/books/knox-0-9-1/general_saml_flow.png?rev=1812752&r1=1812751&r2=1812752&view=diff ============================================================================== Binary files - no diff available. Modified: knox/site/books/knox-0-9-1/runtime-overview.png URL: http://svn.apache.org/viewvc/knox/site/books/knox-0-9-1/runtime-overview.png?rev=1812752&r1=1812751&r2=1812752&view=diff ============================================================================== Binary files - no diff available. Modified: knox/site/books/knox-0-9-1/runtime-request-processing.png URL: http://svn.apache.org/viewvc/knox/site/books/knox-0-9-1/runtime-request-processing.png?rev=1812752&r1=1812751&r2=1812752&view=diff ============================================================================== Binary files - no diff available. Modified: knox/site/index.html URL: http://svn.apache.org/viewvc/knox/site/index.html?rev=1812752&r1=1812751&r2=1812752&view=diff ============================================================================== --- knox/site/index.html (original) +++ knox/site/index.html Fri Oct 20 14:48:44 2017 @@ -1,13 +1,13 @@ <!DOCTYPE html> <!-- - | Generated by Apache Maven Doxia at 2017-09-21 + | Generated by Apache Maven Doxia at 2017-10-20 | Rendered using Apache Maven Fluido Skin 1.3.0 --> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> - <meta name="Date-Revision-yyyymmdd" content="20170921" /> + <meta name="Date-Revision-yyyymmdd" content="20171020" /> <meta http-equiv="Content-Language" content="en" /> <title>Knox Gateway – REST API and Application Gateway for the Apache Hadoop Ecosystem</title> <link rel="stylesheet" href="./css/apache-maven-fluido-1.3.0.min.css" /> @@ -58,7 +58,7 @@ - <li id="publishDate" class="pull-right">Last Published: 2017-09-21</li> + <li id="publishDate" class="pull-right">Last Published: 2017-10-20</li> </ul> </div> Modified: knox/site/issue-tracking.html URL: http://svn.apache.org/viewvc/knox/site/issue-tracking.html?rev=1812752&r1=1812751&r2=1812752&view=diff ============================================================================== --- knox/site/issue-tracking.html (original) +++ knox/site/issue-tracking.html Fri Oct 20 14:48:44 2017 @@ -1,13 +1,13 @@ <!DOCTYPE html> <!-- - | Generated by Apache Maven Doxia at 2017-09-21 + | Generated by Apache Maven Doxia at 2017-10-20 | Rendered using Apache Maven Fluido Skin 1.3.0 --> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> - <meta name="Date-Revision-yyyymmdd" content="20170921" /> + <meta name="Date-Revision-yyyymmdd" content="20171020" /> <meta http-equiv="Content-Language" content="en" /> <title>Knox Gateway – Issue Tracking</title> <link rel="stylesheet" href="./css/apache-maven-fluido-1.3.0.min.css" /> @@ -58,7 +58,7 @@ - <li id="publishDate" class="pull-right">Last Published: 2017-09-21</li> + <li id="publishDate" class="pull-right">Last Published: 2017-10-20</li> </ul> </div> Modified: knox/site/license.html URL: http://svn.apache.org/viewvc/knox/site/license.html?rev=1812752&r1=1812751&r2=1812752&view=diff ============================================================================== --- knox/site/license.html (original) +++ knox/site/license.html Fri Oct 20 14:48:44 2017 @@ -1,13 +1,13 @@ <!DOCTYPE html> <!-- - | Generated by Apache Maven Doxia at 2017-09-21 + | Generated by Apache Maven Doxia at 2017-10-20 | Rendered using Apache Maven Fluido Skin 1.3.0 --> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> - <meta name="Date-Revision-yyyymmdd" content="20170921" /> + <meta name="Date-Revision-yyyymmdd" content="20171020" /> <meta http-equiv="Content-Language" content="en" /> <title>Knox Gateway – Project License</title> <link rel="stylesheet" href="./css/apache-maven-fluido-1.3.0.min.css" /> @@ -58,7 +58,7 @@ - <li id="publishDate" class="pull-right">Last Published: 2017-09-21</li> + <li id="publishDate" class="pull-right">Last Published: 2017-10-20</li> </ul> </div> Modified: knox/site/mail-lists.html URL: http://svn.apache.org/viewvc/knox/site/mail-lists.html?rev=1812752&r1=1812751&r2=1812752&view=diff ============================================================================== --- knox/site/mail-lists.html (original) +++ knox/site/mail-lists.html Fri Oct 20 14:48:44 2017 @@ -1,13 +1,13 @@ <!DOCTYPE html> <!-- - | Generated by Apache Maven Doxia at 2017-09-21 + | Generated by Apache Maven Doxia at 2017-10-20 | Rendered using Apache Maven Fluido Skin 1.3.0 --> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> - <meta name="Date-Revision-yyyymmdd" content="20170921" /> + <meta name="Date-Revision-yyyymmdd" content="20171020" /> <meta http-equiv="Content-Language" content="en" /> <title>Knox Gateway – Project Mailing Lists</title> <link rel="stylesheet" href="./css/apache-maven-fluido-1.3.0.min.css" /> @@ -58,7 +58,7 @@ - <li id="publishDate" class="pull-right">Last Published: 2017-09-21</li> + <li id="publishDate" class="pull-right">Last Published: 2017-10-20</li> </ul> </div> Modified: knox/site/project-info.html URL: http://svn.apache.org/viewvc/knox/site/project-info.html?rev=1812752&r1=1812751&r2=1812752&view=diff ============================================================================== --- knox/site/project-info.html (original) +++ knox/site/project-info.html Fri Oct 20 14:48:44 2017 @@ -1,13 +1,13 @@ <!DOCTYPE html> <!-- - | Generated by Apache Maven Doxia at 2017-09-21 + | Generated by Apache Maven Doxia at 2017-10-20 | Rendered using Apache Maven Fluido Skin 1.3.0 --> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> - <meta name="Date-Revision-yyyymmdd" content="20170921" /> + <meta name="Date-Revision-yyyymmdd" content="20171020" /> <meta http-equiv="Content-Language" content="en" /> <title>Knox Gateway – Project Information</title> <link rel="stylesheet" href="./css/apache-maven-fluido-1.3.0.min.css" /> @@ -58,7 +58,7 @@ - <li id="publishDate" class="pull-right">Last Published: 2017-09-21</li> + <li id="publishDate" class="pull-right">Last Published: 2017-10-20</li> </ul> </div> Modified: knox/site/team-list.html URL: http://svn.apache.org/viewvc/knox/site/team-list.html?rev=1812752&r1=1812751&r2=1812752&view=diff ============================================================================== --- knox/site/team-list.html (original) +++ knox/site/team-list.html Fri Oct 20 14:48:44 2017 @@ -1,13 +1,13 @@ <!DOCTYPE html> <!-- - | Generated by Apache Maven Doxia at 2017-09-21 + | Generated by Apache Maven Doxia at 2017-10-20 | Rendered using Apache Maven Fluido Skin 1.3.0 --> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> - <meta name="Date-Revision-yyyymmdd" content="20170921" /> + <meta name="Date-Revision-yyyymmdd" content="20171020" /> <meta http-equiv="Content-Language" content="en" /> <title>Knox Gateway – Team list</title> <link rel="stylesheet" href="./css/apache-maven-fluido-1.3.0.min.css" /> @@ -58,7 +58,7 @@ - <li id="publishDate" class="pull-right">Last Published: 2017-09-21</li> + <li id="publishDate" class="pull-right">Last Published: 2017-10-20</li> </ul> </div> Modified: knox/trunk/books/0.14.0/book.md URL: http://svn.apache.org/viewvc/knox/trunk/books/0.14.0/book.md?rev=1812752&r1=1812751&r2=1812752&view=diff ============================================================================== --- knox/trunk/books/0.14.0/book.md (original) +++ knox/trunk/books/0.14.0/book.md Fri Oct 20 14:48:44 2017 @@ -84,6 +84,7 @@ * #[Yarn] * #[Kafka] * #[Storm] + * #[SOLR] * #[Avatica] * #[Common Service Config] * #[Default Service HA support] Modified: knox/trunk/books/0.14.0/book_getting-started.md URL: http://svn.apache.org/viewvc/knox/trunk/books/0.14.0/book_getting-started.md?rev=1812752&r1=1812751&r2=1812752&view=diff ============================================================================== --- knox/trunk/books/0.14.0/book_getting-started.md (original) +++ knox/trunk/books/0.14.0/book_getting-started.md Fri Oct 20 14:48:44 2017 @@ -82,6 +82,7 @@ This table enumerates the versions of va | Yarn ResourceManager | 2.5.0 | ![y] | ![y] |![n]| | Kafka (via REST Proxy) | 0.10.0 | ![y] | ![y] |![y]| | Storm | 0.9.3 | ![y] | ![n] |![n]| +| SOLR | 5.5+ and 6+ | ![y] | ![n] |![y]| ### More Examples ### Modified: knox/trunk/books/0.14.0/book_service-details.md URL: http://svn.apache.org/viewvc/knox/trunk/books/0.14.0/book_service-details.md?rev=1812752&r1=1812751&r2=1812752&view=diff ============================================================================== --- knox/trunk/books/0.14.0/book_service-details.md (original) +++ knox/trunk/books/0.14.0/book_service-details.md Fri Oct 20 14:48:44 2017 @@ -37,6 +37,7 @@ These are the current Hadoop services wi * #[Yarn] * #[Kafka] * #[Storm] +* #[SOLR] * #[Avatica] ### Assumptions @@ -85,6 +86,7 @@ Therefore each request via cURL will res <<service_yarn.md>> <<service_kafka.md>> <<service_storm.md>> +<<service_solr.md>> <<service_config.md>> <<service_default_ha.md>> Modified: knox/trunk/books/0.14.0/service_hbase.md URL: http://svn.apache.org/viewvc/knox/trunk/books/0.14.0/service_hbase.md?rev=1812752&r1=1812751&r2=1812752&view=diff ============================================================================== --- knox/trunk/books/0.14.0/service_hbase.md (original) +++ knox/trunk/books/0.14.0/service_hbase.md Fri Oct 20 14:48:44 2017 @@ -653,5 +653,55 @@ Scanner URL will be in Location response ### HBase REST HA ### -Please look at #[Default Service HA support] +Please look at #[Default Service HA support] if you wish to explicitly list the URLs under the service definition. + +If you run the HBase REST Server from the HBase Region Server nodes, you can utilize more advanced HA support. The HBase +REST Server does not register itself with ZooKeeper. So the Knox HA component looks in ZooKeeper for instances of HBase Region +Servers and then performs a light weight ping for the presence of the REST Server on the same hosts. The user should not supply URLs +in the service definition. + +Note: Users of Ambari must manually startup the HBase REST Server. + +To enable HA functionality for HBase in Knox the following configuration has to be added to the topology file. + + <provider> + <role>ha</role> + <name>HaProvider</name> + <enabled>true</enabled> + <param> + <name>WEBHBASE</name> + <value>maxFailoverAttempts=3;failoverSleep=1000;enabled=true;zookeeperEnsemble=machine1:2181,machine2:2181,machine3:2181</value> + </param> + </provider> + +The role and name of the provider above must be as shown. The name in the 'param' section must match that of the service +role name that is being configured for HA and the value in the 'param' section is the configuration for that particular +service in HA mode. In this case the name is 'WEBHBASE'. + +The various configuration parameters are described below: + +* maxFailoverAttempts - +This is the maximum number of times a failover will be attempted. The failover strategy at this time is very simplistic +in that the next URL in the list of URLs provided for the service is used and the one that failed is put at the bottom +of the list. If the list is exhausted and the maximum number of attempts is not reached then the first URL will be tried +again after the list is fetched again from Zookeeper (a refresh of the list is done at this point) + +* failoverSleep - +The amount of time in millis that the process will wait or sleep before attempting to failover. + +* enabled - +Flag to turn the particular service on or off for HA. + +* zookeeperEnsemble - +A comma separated list of host names (or IP addresses) of the ZooKeeper hosts that consist of the ensemble that the HBase +servers register their information with. + +And for the service configuration itself the URLs need NOT be added to the list. For example: + + <service> + <role>WEBHBASE</role> + </service> + +Please note that there is no `<url>` tag specified here as the URLs for the Kafka servers are obtained from ZooKeeper. + Modified: knox/trunk/books/0.14.0/service_kafka.md URL: http://svn.apache.org/viewvc/knox/trunk/books/0.14.0/service_kafka.md?rev=1812752&r1=1812751&r2=1812752&view=diff ============================================================================== --- knox/trunk/books/0.14.0/service_kafka.md (original) +++ knox/trunk/books/0.14.0/service_kafka.md Fri Oct 20 14:48:44 2017 @@ -56,3 +56,54 @@ Some of the various calls that can be ma curl -ikv -u guest:guest-password -X POST 'https://localhost:8443/gateway/sandbox/kafka/topics/TOPIC1' -H 'Content-Type: application/vnd.kafka.json.v2+json' -H 'Accept: application/vnd.kafka.v2+json' --data '"records":[{"value":{"foo":"bar"}}]}' +### Kafka HA ### + +Knox provides basic failover functionality for calls made to Kafka. Since the Confluent Kafka REST Proxy does not register +itself with ZooKeeper, the HA component looks in ZooKeeper for instances of Kafka and then performs a light weight ping for +the presence of the REST Proxy on the same hosts. As such the Kafka REST Proxy must be installed on the same host as Kafka. +The user should not supply URLs in the service definition. + +Note: Users of Ambari must manually startup the Confluent Kafka REST Proxy. + +To enable HA functionality for Kafka in Knox the following configuration has to be added to the topology file. + + <provider> + <role>ha</role> + <name>HaProvider</name> + <enabled>true</enabled> + <param> + <name>KAFKA</name> + <value>maxFailoverAttempts=3;failoverSleep=1000;enabled=true;zookeeperEnsemble=machine1:2181,machine2:2181,machine3:2181</value> + </param> + </provider> + +The role and name of the provider above must be as shown. The name in the 'param' section must match that of the service +role name that is being configured for HA and the value in the 'param' section is the configuration for that particular +service in HA mode. In this case the name is 'KAFKA'. + +The various configuration parameters are described below: + +* maxFailoverAttempts - +This is the maximum number of times a failover will be attempted. The failover strategy at this time is very simplistic +in that the next URL in the list of URLs provided for the service is used and the one that failed is put at the bottom +of the list. If the list is exhausted and the maximum number of attempts is not reached then the first URL will be tried +again after the list is fetched again from Zookeeper (a refresh of the list is done at this point) + +* failoverSleep - +The amount of time in millis that the process will wait or sleep before attempting to failover. + +* enabled - +Flag to turn the particular service on or off for HA. + +* zookeeperEnsemble - +A comma separated list of host names (or IP addresses) of the ZooKeeper hosts that consist of the ensemble that the Kafka +servers register their information with. + +And for the service configuration itself the URLs need NOT be added to the list. For example: + + <service> + <role>KAFKA</role> + </service> + +Please note that there is no `<url>` tag specified here as the URLs for the Kafka servers are obtained from ZooKeeper. + Added: knox/trunk/books/0.14.0/service_solr.md URL: http://svn.apache.org/viewvc/knox/trunk/books/0.14.0/service_solr.md?rev=1812752&view=auto ============================================================================== --- knox/trunk/books/0.14.0/service_solr.md (added) +++ knox/trunk/books/0.14.0/service_solr.md Fri Oct 20 14:48:44 2017 @@ -0,0 +1,111 @@ +<!--- + Licensed to the Apache Software Foundation (ASF) under one or more + contributor license agreements. See the NOTICE file distributed with + this work for additional information regarding copyright ownership. + The ASF licenses this file to You under the Apache License, Version 2.0 + (the "License"); you may not use this file except in compliance with + the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +---> + +### SOLR ### + +Knox provides gateway functionality to SOLR with support for versions 5.5+ and 6+. The SOLR REST APIs allow the user to view the status +of the collections, perform administrative actions and query collections. + +See the SOLR Quickstart (http://lucene.apache.org/solr/quickstart.html) section of the SOLR documentation for examples of the SOLR REST API. + +Since Knox provides an abstraction over SOLR and ZooKeeper, the use of the SOLRJ CloudSolrClient is no longer supported. You should replace +instances of CloudSolrClient with HttpSolrClient. + +<p>Note: Updates to SOLR via Knox require a POST operation require the use of preemptive authentication which is not directly supported by the +SOLRJ API at this time.</p> + +To enable this functionality, a topology file needs to have the following configuration: + + <service> + <role>SOLR</role> + <version>6.0.0</version> + <url>http://<solr-host>:<solr-port></url> + </service> + +The default SOLR port is 8983. Adjust the version specified to either '5.5.0 or '6.0.0'. + +#### SOLR URL Mapping #### + +For SOLR URLs, the mapping of Knox Gateway accessible URLs to direct SOLR URLs is the following. + +| ------- | ------------------------------------------------------------------------------------- | +| Gateway | `https://{gateway-host}:{gateway-port}/{gateway-path}/{cluster-name}/solr` | +| Cluster | `http://{solr-host}:{solr-port}/solr` | + + +#### SOLR Examples via cURL + +Some of the various calls that can be made and examples using curl are listed below. + + # 0. Query collection + + curl -ikv -u guest:guest-password -X GET 'https://localhost:8443/gateway/sandbox/solr/select?q=*:*&wt=json' + + # 1. Query cluster status + + curl -ikv -u guest:guest-password -X POST 'https://localhost:8443/gateway/sandbox/solr/admin/collections?action=CLUSTERSTATUS' + +### SOLR HA ### + +Knox provides basic failover functionality for calls made to SOLR Cloud when more than one SOLR instance is +installed in the cluster and registered with the same Zookeeper ensemble. The HA functionality in this case fetches the +SOLR URL information from a Zookeeper ensemble, so the user need only supply the necessary Zookeeper +configuration and not the SOLR connection URLs. + +To enable HA functionality for SOLR Cloud in Knox the following configuration has to be added to the topology file. + + <provider> + <role>ha</role> + <name>HaProvider</name> + <enabled>true</enabled> + <param> + <name>SOLR</name> + <value>maxFailoverAttempts=3;failoverSleep=1000;enabled=true;zookeeperEnsemble=machine1:2181,machine2:2181,machine3:2181</value> + </param> + </provider> + +The role and name of the provider above must be as shown. The name in the 'param' section must match that of the service +role name that is being configured for HA and the value in the 'param' section is the configuration for that particular +service in HA mode. In this case the name is 'SOLR'. + +The various configuration parameters are described below: + +* maxFailoverAttempts - +This is the maximum number of times a failover will be attempted. The failover strategy at this time is very simplistic +in that the next URL in the list of URLs provided for the service is used and the one that failed is put at the bottom +of the list. If the list is exhausted and the maximum number of attempts is not reached then the first URL will be tried +again after the list is fetched again from Zookeeper (a refresh of the list is done at this point) + +* failoverSleep - +The amount of time in millis that the process will wait or sleep before attempting to failover. + +* enabled - +Flag to turn the particular service on or off for HA. + +* zookeeperEnsemble - +A comma separated list of host names (or IP addresses) of the zookeeper hosts that consist of the ensemble that the SOLR +servers register their information with. + +And for the service configuration itself the URLs need NOT be added to the list. For example. + + <service> + <role>SOLR</role> + <version>6.0.0</version> + </service> + +Please note that there is no `<url>` tag specified here as the URLs for the SOLR servers are obtained from Zookeeper. + Modified: knox/trunk/build.xml URL: http://svn.apache.org/viewvc/knox/trunk/build.xml?rev=1812752&r1=1812751&r2=1812752&view=diff ============================================================================== --- knox/trunk/build.xml (original) +++ knox/trunk/build.xml Fri Oct 20 14:48:44 2017 @@ -53,7 +53,7 @@ <condition property="mvn.cmd" value="mvn"> <os family="unix" /> </condition> - <condition property="mvn.cmd" value="mvn"> + <condition property="mvn.cmd" value="mvn.cmd"> <os family="windows" /> </condition>