<?xml version="1.0" encoding="UTF-8"?>
<!--
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.
-->
<!DOCTYPE concept PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
<concept id="ports">

  <title>Ports Used by Impala</title>

  <prolog>
    <metadata>
      <data name="Category" value="Impala"/>
      <data name="Category" value="Ports"/>
      <data name="Category" value="Network"/>
      <data name="Category" value="Administrators"/>
      <data name="Category" value="Developers"/>
      <data name="Category" value="Data Analysts"/>
    </metadata>
  </prolog>

  <conbody id="conbody_ports">

    <p>Impala uses the TCP ports listed in the following table. Before deploying
      Impala, ensure these ports are open on each system. You can use the
      corresponding start-up flags to overwrite the default ports.</p>

    <table>
      <tgroup cols="4">
        <colspec colname="1" colwidth="20*"/>
        <colspec colname="2" colwidth="30*"/>
        <colspec colname="3" colwidth="10*"/>
        <colspec colname="5" colwidth="30*"/>
        <thead>
          <row>
            <entry> Scope / Role </entry>
            <entry> Startup Flag </entry>
            <entry>Default Port </entry>
            <entry> Comment </entry>
          </row>
        </thead>
        <tbody>
          <row>
            <entry>Impala Daemon </entry>
            <entry>--beeswax_port</entry>
            <entry>21000 </entry>
            <entry>Port on which Beeswax client requests are served by Impala
              Daemons.</entry>
          </row>
          <row>
            <entry>Impala Daemon </entry>
            <entry>--hs2_port</entry>
            <entry>21050 </entry>
            <entry>Port on which HiveServer2 client requests are served by
              Impala Daemons.</entry>
          </row>
          <row>
            <entry>Impala Daemon </entry>
            <entry>--be_port</entry>
            <entry>22000 </entry>
            <entry>Internal use only. Impala daemons use this port for Thrift
              based communication with each other. </entry>
          </row>
          <row>
            <entry>Impala Daemon </entry>
            <entry>--state_store_subscriber_port</entry>
            <entry>23000 </entry>
            <entry>Internal use only. Impala daemons listen on this port for
              updates from the StateStore daemon. </entry>
          </row>
          <row rev="2.1.0">
            <entry>Catalog Daemon </entry>
            <entry>--state_store_subscriber_port</entry>
            <entry>23020 </entry>
            <entry>Internal use only. The Catalog Server daemon listens on this
              port for updates from the StateStore daemon. </entry>
          </row>
          <row>
            <entry>Impala Daemon </entry>
            <entry>--webserver_port</entry>
            <entry>25000 </entry>
            <entry>Impala debug Web UI for administrators to monitor and
              troubleshoot. </entry>
          </row>
          <row>
            <entry>Impala StateStore Daemon </entry>
            <entry>--webserver_port</entry>
            <entry>25010 </entry>
            <entry>StateStore debug Web UI for administrators to monitor and
              troubleshoot. </entry>
          </row>
          <row rev="1.2">
            <entry>Impala Catalog Daemon </entry>
            <entry>--webserver_port</entry>
            <entry>25020 </entry>
            <entry>Catalog Server debug Web UI for administrators to monitor and
              troubleshoot. New in Impala 1.2 and higher. </entry>
          </row>
          <row>
            <entry>Impala StateStore Daemon </entry>
            <entry>--state_store_port</entry>
            <entry>24000 </entry>
            <entry>Internal use only. The StateStore daemon listens on this port
              for registration/unregistration requests. </entry>
          </row>
          <row rev="1.2">
            <entry>Impala Catalog Daemon </entry>
            <entry>--catalog_service_port</entry>
            <entry>26000 </entry>
            <entry>Internal use only. The Catalog Server uses this port to
              communicate with the Impala daemons. New in Impala 1.2 and higher.
            </entry>
          </row>
          <row>
            <entry>
              <p> Impala Daemon </p>
            </entry>
            <entry>--krpc_port</entry>
            <entry>27000 </entry>
            <entry>Internal use only. Impala daemons use this port for KRPC
              based communication with each other. </entry>
          </row>
          <row rev="1.3.0">
            <entry>Impala Daemon </entry>
            <entry>--hs2_http_port</entry>
            <entry>28000 </entry>
            <entry>Used to transmit commands and receive results by client
              applications over HTTP via the HiveServer2 protocol. </entry>
          </row>
        </tbody>
      </tgroup>
    </table>

  </conbody>

</concept>
