You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@impala.apache.org by jo...@apache.org on 2019/08/02 22:25:36 UTC

[impala] 01/02: IMPALA-8456: [DOCS] New HTTP protocol for Impala clients

This is an automated email from the ASF dual-hosted git repository.

joemcdonnell pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/impala.git

commit f5c593ae85d18db1f8eca15b6b9c2a86ffd5eea8
Author: Alex Rodoni <ar...@cloudera.com>
AuthorDate: Tue Jul 30 17:05:41 2019 -0700

    IMPALA-8456: [DOCS] New HTTP protocol for Impala clients
    
    Change-Id: I3101f8babc77a5a872778499a54ac479a66ad996
    Reviewed-on: http://gerrit.cloudera.org:8080/13960
    Tested-by: Impala Public Jenkins <im...@cloudera.com>
    Reviewed-by: Bharath Vissapragada <bh...@cloudera.com>
---
 docs/topics/impala_client.xml | 77 +++++++++++++++++++++++++++++++++++++++++++
 docs/topics/impala_jdbc.xml   | 72 ++++++++++++++++++++++++++++++++++------
 docs/topics/impala_ports.xml  | 75 +++++++++++++++++++++++++----------------
 3 files changed, 185 insertions(+), 39 deletions(-)

diff --git a/docs/topics/impala_client.xml b/docs/topics/impala_client.xml
index b17deea..a58b3e0 100644
--- a/docs/topics/impala_client.xml
+++ b/docs/topics/impala_client.xml
@@ -55,6 +55,60 @@ under the License.
     </ul>
 
     <p>
+      Impala clients can connect to the Coordinator Impala Daemon (<codeph>impalad</codeph>) via
+      HiveServer2 over HTTP or over the TCP binary. Both HTTP and binary support the Kerberos
+      SPNEGO and LDAP for authentication to Impala. See below for the default ports and the
+      Impala flags to change the ports.
+    </p>
+
+    <p>
+      <simpletable frame="all" relcolwidth="1.0* 1.03* 2.38*"
+        id="simpletable_tr2_gnt_43b">
+
+        <strow>
+
+          <stentry><b>Protocol</b>
+
+          </stentry>
+
+          <stentry><b>Default Port</b>
+
+          </stentry>
+
+          <stentry><b>Flag to Specify an Alternate Port</b>
+
+          </stentry>
+
+        </strow>
+
+        <strow>
+
+          <stentry>HTTP</stentry>
+
+          <stentry>28000</stentry>
+
+          <stentry><codeph>&#8209;&#8209;hs2_http_port</codeph>
+
+          </stentry>
+
+        </strow>
+
+        <strow>
+
+          <stentry>Binary TCP</stentry>
+
+          <stentry>21050</stentry>
+
+          <stentry><codeph>&#8209;&#8209;hs2_port</codeph>
+
+          </stentry>
+
+        </strow>
+
+      </simpletable>
+    </p>
+
+    <p>
       Each <codeph>impalad</codeph> daemon process, running on separate nodes in a cluster,
       listens to <xref href="impala_ports.xml#ports">several ports</xref> for incoming requests:
     </p>
@@ -191,6 +245,29 @@ under the License.
           </dd>
 
         </dlentry>
+
+        <dlentry>
+
+          <dt>
+            --hs2_http_port
+          </dt>
+
+          <dd>
+            Specifies the port for clients to connect to Impala server over HTTP.
+            <p>
+              You can disable the HTTP end point for clients by setting the flag to
+              <codeph>0</codeph>.
+            </p>
+
+            <p>
+              To enable TLS/SSL for HiveServer2 HTTP endpoint use
+              <codeph>--ssl_server_certificate</codeph> and <codeph>--ssl_private_key</codeph>.
+              See <xref
+                href="impala_ssl.xml#ssl"/> for detail.
+            </p>
+          </dd>
+
+        </dlentry>
       </dl>
 
     </section>
diff --git a/docs/topics/impala_jdbc.xml b/docs/topics/impala_jdbc.xml
index ff77de1..8dc3707 100644
--- a/docs/topics/impala_jdbc.xml
+++ b/docs/topics/impala_jdbc.xml
@@ -76,16 +76,61 @@ under the License.
     <conbody>
 
       <p>
-        The default port used by JDBC 2.0 and later (as well as ODBC 2.x) is 21050. Impala
-        server accepts JDBC connections through this same port 21050 by default. Make sure this
-        port is available for communication with other hosts on your network, for example, that
-        it is not blocked by firewall software. If your JDBC client software connects to a
-        different port, specify that alternative port number with the
-        <codeph>&#8209;&#8209;hs2_port</codeph> option when starting <codeph>impalad</codeph>.
-        See <xref
-          href="impala_processes.xml#processes"/> for details about Impala
-        startup options. See <xref href="impala_ports.xml#ports"/> for information about all
-        ports used for communication between Impala and clients or between Impala components.
+        The following are the default ports that Impala server accepts JDBC connections through:
+        <simpletable frame="all"
+          relcolwidth="1.0* 1.03* 2.38*" id="simpletable_tr2_gnt_43b">
+
+          <strow>
+
+            <stentry><b>Protocol</b>
+
+            </stentry>
+
+            <stentry><b>Default Port</b>
+
+            </stentry>
+
+            <stentry><b>Flag to Specify an Alternate Port</b>
+
+            </stentry>
+
+          </strow>
+
+          <strow>
+
+            <stentry>HTTP</stentry>
+
+            <stentry>28000</stentry>
+
+            <stentry><codeph>&#8209;&#8209;hs2_http_port</codeph>
+
+            </stentry>
+
+          </strow>
+
+          <strow>
+
+            <stentry>Binary TCP</stentry>
+
+            <stentry>21050</stentry>
+
+            <stentry><codeph>&#8209;&#8209;hs2_port</codeph>
+
+            </stentry>
+
+          </strow>
+
+        </simpletable>
+      </p>
+
+      <p>
+        Make sure the port for the protocol you are using is available for communication with
+        clients, for example, that it is not blocked by firewall software.
+      </p>
+
+      <p>
+        If your JDBC client software connects to a different port, specify that alternative port
+        number with the flag in the above table when starting the <codeph>impalad</codeph>.
       </p>
 
     </conbody>
@@ -293,6 +338,13 @@ under the License.
 
 <codeblock>jdbc:hive2://myhost.example.com:21050/test_db;user=fred;password=xyz123</codeblock>
 
+        <p>
+          To connect to an instance of Impala over HTTP, specify the HTTP port, 28000 by
+          default, and <codeph>transportMode=http</codeph> in the connection string. For
+          example:
+<codeblock>jdbc:hive2://myhost.example.com:28000/;transportMode=http</codeblock>
+        </p>
+
         <note>
           <p conref="../shared/impala_common.xml#common/hive_jdbc_ssl_kerberos_caveat"/>
         </note>
diff --git a/docs/topics/impala_ports.xml b/docs/topics/impala_ports.xml
index 0e00d04..938c1de 100644
--- a/docs/topics/impala_ports.xml
+++ b/docs/topics/impala_ports.xml
@@ -21,6 +21,7 @@ under the License.
 <concept id="ports">
 
   <title>Ports Used by Impala</title>
+
   <prolog>
     <metadata>
       <data name="Category" value="Impala"/>
@@ -36,8 +37,8 @@ under the License.
 
     <p>
       <indexterm audience="hidden">ports</indexterm>
-      Impala uses the TCP ports listed in the following table. Before deploying Impala, ensure these ports are open
-      on each system.
+      Impala uses the TCP ports listed in the following table. Before deploying Impala, ensure
+      these ports are open on each system.
     </p>
 
     <table>
@@ -90,8 +91,8 @@ under the License.
             </entry>
             <entry>
               <p>
-                Used to transmit commands and receive results by <codeph>impala-shell</codeph> and
-                some ODBC drivers.
+                Used to transmit commands and receive results by <codeph>impala-shell</codeph>
+                and some ODBC drivers via the Beeswax protocol.
               </p>
             </entry>
           </row>
@@ -118,8 +119,9 @@ under the License.
             </entry>
             <entry>
               <p>
-                Used to transmit commands and receive results by applications, such as Business Intelligence tools,
-                using JDBC, the Beeswax query editor in Hue, and some ODBC drivers.
+                Used to transmit commands and receive results by client applications over
+                binary, such as Business Intelligence tools, using JDBC, the Beeswax query
+                editor in Hue, and some ODBC drivers.
               </p>
             </entry>
           </row>
@@ -145,8 +147,10 @@ under the License.
               </p>
             </entry>
             <entry>
-              <p> Internal use only. Impala daemons use this port for Thrift
-                based communication with each other. </p>
+              <p>
+                Internal use only. Impala daemons use this port for Thrift based communication
+                with each other.
+              </p>
             </entry>
           </row>
           <row>
@@ -172,7 +176,8 @@ under the License.
             </entry>
             <entry>
               <p>
-                Internal use only. Impala daemons listen on this port for updates from the statestore daemon.
+                Internal use only. Impala daemons listen on this port for updates from the
+                statestore daemon.
               </p>
             </entry>
           </row>
@@ -199,7 +204,8 @@ under the License.
             </entry>
             <entry>
               <p>
-                Internal use only. The catalog daemon listens on this port for updates from the statestore daemon.
+                Internal use only. The catalog daemon listens on this port for updates from the
+                statestore daemon.
               </p>
             </entry>
           </row>
@@ -280,8 +286,8 @@ under the License.
             </entry>
             <entry>
               <p>
-                Catalog service web interface for administrators to monitor and troubleshoot. New in Impala 1.2 and
-                higher.
+                Catalog service web interface for administrators to monitor and troubleshoot.
+                New in Impala 1.2 and higher.
               </p>
             </entry>
           </row>
@@ -308,8 +314,8 @@ under the License.
             </entry>
             <entry>
               <p>
-                Internal use only. The statestore daemon listens on this port for registration/unregistration
-                requests.
+                Internal use only. The statestore daemon listens on this port for
+                registration/unregistration requests.
               </p>
             </entry>
           </row>
@@ -336,27 +342,37 @@ under the License.
             </entry>
             <entry>
               <p>
-                Internal use only. The catalog service uses this port to communicate with the Impala daemons. New
-                in Impala 1.2 and higher.
+                Internal use only. The catalog service uses this port to communicate with the
+                Impala daemons. New in Impala 1.2 and higher.
               </p>
             </entry>
           </row>
           <row>
             <entry>
-              <p> Impala Daemon </p>
+              <p>
+                Impala Daemon
+              </p>
             </entry>
             <entry>
-              <p>KRPC Port</p>
+              <p>
+                KRPC Port
+              </p>
             </entry>
             <entry>
-              <p>27000</p>
+              <p>
+                27000
+              </p>
             </entry>
             <entry>
-              <p>Internal</p>
+              <p>
+                Internal
+              </p>
             </entry>
             <entry>
-              <p>Internal use only. Impala daemons use this port for KRPC based
-                communication with each other.</p>
+              <p>
+                Internal use only. Impala daemons use this port for KRPC based communication
+                with each other.
+              </p>
             </entry>
           </row>
           <row rev="1.3.0">
@@ -367,7 +383,7 @@ under the License.
             </entry>
             <entry>
               <p>
-                Llama Callback Port
+                HiveServer2 HTTP Port
               </p>
             </entry>
             <entry>
@@ -377,13 +393,12 @@ under the License.
             </entry>
             <entry>
               <p>
-                Internal
+                External
               </p>
             </entry>
             <entry>
-              <p>
-                Internal use only. Impala daemons use to communicate with Llama. New in <keyword keyref="impala13"/> and higher.
-              </p>
+              <p> Used to transmit commands and receive results by client
+                applications over HTTP via the HiveServer2 protocol. </p>
             </entry>
           </row>
           <row rev="1.3.0">
@@ -463,13 +478,15 @@ under the License.
             </entry>
             <entry>
               <p>
-                Llama service web interface for administrators to monitor and troubleshoot.
-                New in <keyword keyref="impala13"/> and higher.
+                Llama service web interface for administrators to monitor and troubleshoot. New
+                in <keyword keyref="impala13"/> and higher.
               </p>
             </entry>
           </row>
         </tbody>
       </tgroup>
     </table>
+
   </conbody>
+
 </concept>