You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@ambari.apache.org by Dmitro Lisnichenko <dl...@hortonworks.com> on 2015/05/06 13:49:34 UTC
Review Request 33885: Hive Server 2 Process Check Should Always Use
Beeline Instead of TCP Sockets
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/33885/
-----------------------------------------------------------
Review request for Ambari and Andrew Onischuk.
Bugs: AMBARI-10953
https://issues.apache.org/jira/browse/AMBARI-10953
Repository: ambari
Description
-------
ambari-common/src/main/python/resource_management/libraries/functions/hive_check.py uses a combination of beeline and sockets to check the availability of the Hive server.
Hive Server can be configured to run in either binary or http mode, as configured by the following property in hive-site:
<property>
<name>hive.server2.transport.mode</name>
<value>binary</value>
</property>
The python, however, only runs the beeline command if KERBEROS is in use AND the mode is binary. This not correct in that beeline can connect via both TCP and HTTP:
beeline -u 'jdbc:hive2://c6402.ambari.apache.org:10000/;transportMode=binary' -e ''
beeline -u 'jdbc:hive2://c6402.ambari.apache.org:10001/;transportMode=http' -e ''
Additionally, alert_hive_thrift_port.py needs to provide a better error message. Currently, the code
try:
hive_check.check_thrift_port_sasl(host_name, port,
hive_server2_authentication, hive_server_principal, kinitcmd, smokeuser,
transport_mode = transport_mode)
is_thrift_port_ok = True
except:
is_thrift_port_ok = False
if is_thrift_port_ok == True:
result_code = 'OK'
total_time = time.time() - start_time
label = OK_MESSAGE % (total_time, port)
else:
result_code = 'CRITICAL'
label = CRITICAL_MESSAGE.format(host_name,port)
will not show the exact error message and instead just say that it couldn't connect to host:port, which is wrong since that implies the only failure could be TCP-based. I recommend putting the exception message in as well.
Diffs
-----
ambari-common/src/main/python/resource_management/libraries/functions/hive_check.py f0036be
ambari-server/src/main/resources/common-services/HIVE/0.12.0.2.0/package/alerts/alert_hive_thrift_port.py 35217fc
ambari-server/src/main/resources/common-services/HIVE/0.12.0.2.0/package/scripts/hive_service.py 0d5d580
ambari-server/src/main/resources/common-services/HIVE/0.12.0.2.0/package/scripts/params_linux.py 38bdced
ambari-server/src/main/resources/common-services/HIVE/0.12.0.2.0/package/scripts/service_check.py 03af5b6
ambari-server/src/test/python/stacks/2.0.6/HIVE/test_hive_server.py c08332a
ambari-server/src/test/python/stacks/2.0.6/HIVE/test_hive_service_check.py e43917d
Diff: https://reviews.apache.org/r/33885/diff/
Testing
-------
----------------------------------------------------------------------
Ran 263 tests in 6.238s
OK
----------------------------------------------------------------------
Total run:723
Total errors:0
Total failures:0
OK
Process finished with exit code 0
Thanks,
Dmitro Lisnichenko
Re: Review Request 33885: Hive Server 2 Process Check Should Always
Use Beeline Instead of TCP Sockets
Posted by Andrew Onischuk <ao...@hortonworks.com>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/33885/#review82664
-----------------------------------------------------------
Ship it!
Ship It!
- Andrew Onischuk
On May 6, 2015, 11:49 a.m., Dmitro Lisnichenko wrote:
>
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/33885/
> -----------------------------------------------------------
>
> (Updated May 6, 2015, 11:49 a.m.)
>
>
> Review request for Ambari and Andrew Onischuk.
>
>
> Bugs: AMBARI-10953
> https://issues.apache.org/jira/browse/AMBARI-10953
>
>
> Repository: ambari
>
>
> Description
> -------
>
> ambari-common/src/main/python/resource_management/libraries/functions/hive_check.py uses a combination of beeline and sockets to check the availability of the Hive server.
> Hive Server can be configured to run in either binary or http mode, as configured by the following property in hive-site:
> <property>
> <name>hive.server2.transport.mode</name>
> <value>binary</value>
> </property>
> The python, however, only runs the beeline command if KERBEROS is in use AND the mode is binary. This not correct in that beeline can connect via both TCP and HTTP:
> beeline -u 'jdbc:hive2://c6402.ambari.apache.org:10000/;transportMode=binary' -e ''
> beeline -u 'jdbc:hive2://c6402.ambari.apache.org:10001/;transportMode=http' -e ''
> Additionally, alert_hive_thrift_port.py needs to provide a better error message. Currently, the code
> try:
> hive_check.check_thrift_port_sasl(host_name, port,
> hive_server2_authentication, hive_server_principal, kinitcmd, smokeuser,
> transport_mode = transport_mode)
>
> is_thrift_port_ok = True
> except:
> is_thrift_port_ok = False
>
> if is_thrift_port_ok == True:
> result_code = 'OK'
> total_time = time.time() - start_time
> label = OK_MESSAGE % (total_time, port)
> else:
> result_code = 'CRITICAL'
> label = CRITICAL_MESSAGE.format(host_name,port)
> will not show the exact error message and instead just say that it couldn't connect to host:port, which is wrong since that implies the only failure could be TCP-based. I recommend putting the exception message in as well.
>
>
> Diffs
> -----
>
> ambari-common/src/main/python/resource_management/libraries/functions/hive_check.py f0036be
> ambari-server/src/main/resources/common-services/HIVE/0.12.0.2.0/package/alerts/alert_hive_thrift_port.py 35217fc
> ambari-server/src/main/resources/common-services/HIVE/0.12.0.2.0/package/scripts/hive_service.py 0d5d580
> ambari-server/src/main/resources/common-services/HIVE/0.12.0.2.0/package/scripts/params_linux.py 38bdced
> ambari-server/src/main/resources/common-services/HIVE/0.12.0.2.0/package/scripts/service_check.py 03af5b6
> ambari-server/src/test/python/stacks/2.0.6/HIVE/test_hive_server.py c08332a
> ambari-server/src/test/python/stacks/2.0.6/HIVE/test_hive_service_check.py e43917d
>
> Diff: https://reviews.apache.org/r/33885/diff/
>
>
> Testing
> -------
>
> ----------------------------------------------------------------------
> Ran 263 tests in 6.238s
>
> OK
> ----------------------------------------------------------------------
> Total run:723
> Total errors:0
> Total failures:0
> OK
>
> Process finished with exit code 0
>
>
> Thanks,
>
> Dmitro Lisnichenko
>
>