[
https://issues.apache.org/jira/browse/AMBARI-25328?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Ihor Lukianov resolved AMBARI-25328.
------------------------------------
Resolution: Fixed
> When spark_transport_mode is set to 'http' then STS server fails to start in
> Ambari 2.7
> ---------------------------------------------------------------------------------------
>
> Key: AMBARI-25328
> URL: https://issues.apache.org/jira/browse/AMBARI-25328
> Project: Ambari
> Issue Type: Bug
> Components: ambari-server
> Affects Versions: 2.7.3
> Reporter: JaySenSharma
> Assignee: Ihor Lukianov
> Priority: Major
> Labels: pull-request-available
> Fix For: 2.7.4
>
> Attachments: Manual_Fix.patch
>
> Time Spent: 20m
> Remaining Estimate: 0h
>
> When the "hive.server2.transport.mode" is set tp "http" (instead of "binary")
> inside the "spark2-hive-site-override" configuration then the "Spark2 Thrift
> Server" start operation fails via Ambari UI with the following error:
> {code}
> File "/usr/lib/ambari-agent/lib/resource_management/core/shell.py", line
> 150, in _call_wrapper
> result = _call(command, **kwargs_copy)
> File "/usr/lib/ambari-agent/lib/resource_management/core/shell.py", line
> 314, in _call
> raise ExecutionFailed(err_msg, code, out, err)
> ExecutionFailed: Execution of '!
> /usr/hdp/current/spark2-thriftserver/bin/beeline -u
> 'jdbc:hive2://kerlatest4.example.com:10002/default;transportMode=http' -e ''
> 2>&1| awk '{print}'|grep -i -e 'Connection refused' -e 'Invalid URL' -e
> 'Error: Could not open'' returned 1. Error: Could not open client transport
> with JDBC Uri:
> jdbc:hive2://kerlatest4.example.com:10002/default;transportMode=http: Could
> not create http connection to
> jdbc:hive2://kerlatest4.example.com:10002/default;transportMode=http. HTTP
> Response code: 405 (state=08S01,code=0)
> Error: Could not open client transport with JDBC Uri:
> jdbc:hive2://kerlatest4.example.com:10002/default;transportMode=http: Could
> not create http connection to
> jdbc:hive2://kerlatest4.example.com:10002/default;transportMode=http. HTTP
> Response code: 405 (state=08S01,code=0)
> {code}
> This is because the "spark_service.py" script is not appending the
> "httpPath=cliservice" when the "hive.server2.transport.mode" is set to "http"
> in the "beeline_url" inside the
> "/var/lib/ambari-server/resources/stacks/HDP/3.0/services/SPARK2/package/scripts/spark_service.py"
> script (On Ambari Agent
> "/var/lib/ambari-agent/cache/stacks/HDP/3.0/services/SPARK2/package/scripts/spark_service.py").
> *Manual Workaround:*
> Update the
> "/var/lib/ambari-agent/cache/stacks/HDP/3.0/services/SPARK2/package/scripts/spark_service.py"
> on agent and amabri server as following with additional If else block to
> check the spark_transport_mode == 'http':
> {code}
> 146c146,149
> < beeline_url =
> ["jdbc:hive2://{fqdn}:{spark_thrift_port}/default;principal={hive_kerberos_principal}","transportMode={spark_transport_mode}"]
> ---
> > if params.spark_transport_mode == 'http':
> > beeline_url =
> > ["jdbc:hive2://{fqdn}:{spark_thrift_port}/default;principal={hive_kerberos_principal}","transportMode={spark_transport_mode}","httpPath=cliservice"]
> > else:
> > beeline_url =
> > ["jdbc:hive2://{fqdn}:{spark_thrift_port}/default;principal={hive_kerberos_principal}","transportMode={spark_transport_mode}"]
> 148c151,154
> < beeline_url =
> ["jdbc:hive2://{fqdn}:{spark_thrift_port}/default","transportMode={spark_transport_mode}"]
> ---
> > if params.spark_transport_mode == 'http':
> > beeline_url =
> > ["jdbc:hive2://{fqdn}:{spark_thrift_port}/default","transportMode={spark_transport_mode}","httpPath=cliservice"]
> > else:
> > beeline_url =
> > ["jdbc:hive2://{fqdn}:{spark_thrift_port}/default","transportMode={spark_transport_mode}"]
> {code}
--
This message was sent by Atlassian JIRA
(v7.6.14#76016)