This is an automated email from the ASF dual-hosted git repository.
jialiang pushed a commit to branch upgrade/jdk-spring-dependencies
in repository https://gitbox.apache.org/repos/asf/ambari.git
The following commit(s) were added to
refs/heads/upgrade/jdk-spring-dependencies by this push:
new f76c2a9ff9 AMBARI-26238: Add Ambari Java Home configuration for JDK 17
in Ambari… (#3891)
f76c2a9ff9 is described below
commit f76c2a9ff971619aa4dadee324beb8e13995f97e
Author: jialiang <[email protected]>
AuthorDate: Mon Nov 25 08:53:13 2024 +0800
AMBARI-26238: Add Ambari Java Home configuration for JDK 17 in Ambari…
(#3891)
* AMBARI-26238: Add Ambari Java Home configuration for JDK 17 in Ambari
server
---
.../ambari/server/configuration/Configuration.java | 13 +++++++++++
.../controller/AmbariManagementController.java | 5 +++++
.../controller/AmbariManagementControllerImpl.java | 10 +++++++++
.../org/apache/ambari/server/utils/StageUtils.java | 2 +-
ambari-server/src/main/python/ambari-server.py | 2 ++
.../python/ambari_server/serverConfiguration.py | 26 +++++++++++++++-------
.../src/main/python/ambari_server/serverSetup.py | 17 +++++++++++++-
.../3.0.0/package/scripts/infra_solr.py | 4 ++--
.../3.0.0/package/scripts/params.py | 3 ++-
.../AMBARI_METRICS/3.0.0/configuration/ams-env.xml | 4 ++--
.../3.0.0/configuration/ams-hbase-env.xml | 2 +-
.../services/HIVE/package/scripts/hive_service.py | 2 +-
.../3.2.0/services/HIVE/package/scripts/params.py | 3 ++-
.../services/RANGER/package/scripts/params.py | 2 ++
.../RANGER/package/scripts/setup_ranger_xml.py | 2 +-
.../services/RANGER_KMS/package/scripts/kms.py | 2 +-
.../services/RANGER_KMS/package/scripts/params.py | 2 ++
.../apache/ambari/server/utils/StageUtilsTest.java | 6 +++--
ambari-server/src/test/python/TestAmbariServer.py | 1 +
19 files changed, 86 insertions(+), 22 deletions(-)
diff --git
a/ambari-server/src/main/java/org/apache/ambari/server/configuration/Configuration.java
b/ambari-server/src/main/java/org/apache/ambari/server/configuration/Configuration.java
index 02bd1b5151..e1501e1c10 100644
---
a/ambari-server/src/main/java/org/apache/ambari/server/configuration/Configuration.java
+++
b/ambari-server/src/main/java/org/apache/ambari/server/configuration/Configuration.java
@@ -792,6 +792,15 @@ public class Configuration {
public static final ConfigurationProperty<String> JAVA_HOME = new
ConfigurationProperty<>(
"java.home", null);
+ /**
+ * The location of the JDK on the Ambari Agent hosts.
+ */
+ @Markdown(
+ description = "The location of the JDK on the Ambari Agent hosts.
This is only used by Ambari Server",
+ examples = { "/usr/jdk64/jdk1.8.0_112" })
+ public static final ConfigurationProperty<String> AMBARI_JAVA_HOME = new
ConfigurationProperty<>(
+ "ambari.java.home", null);
+
/**
* The name of the JDK installation binary.
*/
@@ -4115,6 +4124,10 @@ public class Configuration {
return getProperty(JAVA_HOME);
}
+ public String getAmbariJavaHome() {
+ return getProperty(AMBARI_JAVA_HOME);
+ }
+
public String getJDKName() {
return getProperty(JDK_NAME);
}
diff --git
a/ambari-server/src/main/java/org/apache/ambari/server/controller/AmbariManagementController.java
b/ambari-server/src/main/java/org/apache/ambari/server/controller/AmbariManagementController.java
index a95e185343..e413d4ea18 100644
---
a/ambari-server/src/main/java/org/apache/ambari/server/controller/AmbariManagementController.java
+++
b/ambari-server/src/main/java/org/apache/ambari/server/controller/AmbariManagementController.java
@@ -718,6 +718,11 @@ public interface AmbariManagementController {
*/
String getJavaHome();
+ /**
+ * Getter for the java home, stored in ambari.properties
+ */
+ String getAmbariJavaHome();
+
/**
* Getter for the jdk name, stored in ambari.properties
*/
diff --git
a/ambari-server/src/main/java/org/apache/ambari/server/controller/AmbariManagementControllerImpl.java
b/ambari-server/src/main/java/org/apache/ambari/server/controller/AmbariManagementControllerImpl.java
index 3f8d8d024f..c2cb5a483a 100644
---
a/ambari-server/src/main/java/org/apache/ambari/server/controller/AmbariManagementControllerImpl.java
+++
b/ambari-server/src/main/java/org/apache/ambari/server/controller/AmbariManagementControllerImpl.java
@@ -24,6 +24,7 @@ import static
org.apache.ambari.server.agent.ExecutionCommand.KeyNames.AMBARI_DB
import static
org.apache.ambari.server.agent.ExecutionCommand.KeyNames.AMBARI_DB_RCA_PASSWORD;
import static
org.apache.ambari.server.agent.ExecutionCommand.KeyNames.AMBARI_DB_RCA_URL;
import static
org.apache.ambari.server.agent.ExecutionCommand.KeyNames.AMBARI_DB_RCA_USERNAME;
+import static
org.apache.ambari.server.agent.ExecutionCommand.KeyNames.AMBARI_JAVA_HOME;
import static
org.apache.ambari.server.agent.ExecutionCommand.KeyNames.CLIENTS_TO_UPDATE_CONFIGS;
import static
org.apache.ambari.server.agent.ExecutionCommand.KeyNames.CLUSTER_NAME;
import static
org.apache.ambari.server.agent.ExecutionCommand.KeyNames.COMMAND_RETRY_ENABLED;
@@ -403,6 +404,7 @@ public class AmbariManagementControllerImpl implements
AmbariManagementControlle
final private String jdkResourceUrl;
final private String javaHome;
+ final private String ambariJavaHome;
final private String jdkName;
final private String jceName;
final private String ojdbcUrl;
@@ -447,6 +449,7 @@ public class AmbariManagementControllerImpl implements
AmbariManagementControlle
}
jdkResourceUrl = getAmbariServerURI(JDK_RESOURCE_LOCATION);
javaHome = configs.getJavaHome();
+ ambariJavaHome = configs.getAmbariJavaHome();
jdkName = configs.getJDKName();
jceName = configs.getJCEName();
ojdbcUrl = getAmbariServerURI(JDK_RESOURCE_LOCATION + "/" +
configs.getOjdbcJarName());
@@ -459,6 +462,7 @@ public class AmbariManagementControllerImpl implements
AmbariManagementControlle
jdkResourceUrl = null;
javaHome = null;
+ ambariJavaHome = null;
jdkName = null;
jceName = null;
ojdbcUrl = null;
@@ -5091,6 +5095,11 @@ public class AmbariManagementControllerImpl implements
AmbariManagementControlle
return javaHome;
}
+ @Override
+ public String getAmbariJavaHome() {
+ return ambariJavaHome;
+ }
+
@Override
public String getJDKName() {
return jdkName;
@@ -6019,6 +6028,7 @@ public class AmbariManagementControllerImpl implements
AmbariManagementControlle
TreeMap<String, String> clusterLevelParams = new TreeMap<>();
clusterLevelParams.put(JDK_LOCATION, getJdkResourceUrl());
clusterLevelParams.put(JAVA_HOME, getJavaHome());
+ clusterLevelParams.put(AMBARI_JAVA_HOME, getAmbariJavaHome());
clusterLevelParams.put(JAVA_VERSION,
String.valueOf(configs.getJavaVersion()));
clusterLevelParams.put(JDK_NAME, getJDKName());
clusterLevelParams.put(JCE_NAME, getJCEName());
diff --git
a/ambari-server/src/main/java/org/apache/ambari/server/utils/StageUtils.java
b/ambari-server/src/main/java/org/apache/ambari/server/utils/StageUtils.java
index 48537d6431..aa3cb74bb7 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/utils/StageUtils.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/utils/StageUtils.java
@@ -579,7 +579,7 @@ public class StageUtils {
*/
public static void useAmbariJdkInCommandParams(Map<String, String>
commandParams, Configuration configuration) {
if (StringUtils.isNotEmpty(configuration.getJavaHome()) &&
!configuration.getJavaHome().equals(configuration.getStackJavaHome())) {
- commandParams.put(AMBARI_JAVA_HOME, configuration.getJavaHome());
+ commandParams.put(AMBARI_JAVA_HOME, configuration.getAmbariJavaHome());
commandParams.put(AMBARI_JAVA_VERSION,
String.valueOf(configuration.getJavaVersion()));
if (StringUtils.isNotEmpty(configuration.getJDKName())) { // if not
custom jdk
commandParams.put(AMBARI_JDK_NAME, configuration.getJDKName());
diff --git a/ambari-server/src/main/python/ambari-server.py
b/ambari-server/src/main/python/ambari-server.py
index b9a415fa08..f2de8a3bfb 100755
--- a/ambari-server/src/main/python/ambari-server.py
+++ b/ambari-server/src/main/python/ambari-server.py
@@ -490,6 +490,8 @@ def init_setup_parser_options(parser):
other_group.add_option('-j', '--java-home', default=None,
help="Use specified java_home. Must be valid on all
hosts")
+ other_group.add_option('--ambari-java-home',dest="ambari_java_home",
default=None,
+ help="Use specified java_home for ambari. Must be
valid on Ambari server hosts")
other_group.add_option('--stack-java-home', dest="stack_java_home",
default=None,
help="Use specified java_home for stack services. Must be
valid on all hosts")
other_group.add_option('--skip-view-extraction', action="store_true",
default=False, help="Skip extraction of system views",
dest="skip_view_extraction")
diff --git a/ambari-server/src/main/python/ambari_server/serverConfiguration.py
b/ambari-server/src/main/python/ambari_server/serverConfiguration.py
index cec3fd7100..702950ac22 100644
--- a/ambari-server/src/main/python/ambari_server/serverConfiguration.py
+++ b/ambari-server/src/main/python/ambari_server/serverConfiguration.py
@@ -24,7 +24,7 @@ import os
import re
import shutil
import stat
-import string
+from enum import Enum
import sys
import tempfile
import getpass
@@ -94,6 +94,12 @@ STACK_JDK_NAME_PROPERTY = "stack.jdk.name"
STACK_JCE_NAME_PROPERTY = "stack.jce.name"
STACK_JAVA_VERSION = "stack.java.version"
+#ambari JDK
+AMBARI_JAVA_HOME_PROPERTY = "ambari.java.home"
+AMBARI_JDK_NAME_PROPERTY = "ambari.jdk.name"
+AMBARI_JCE_NAME_PROPERTY = "ambari.jce.name"
+AMBARI_JAVA_VERSION = "ambari.java.version"
+
#TODO property used incorrectly in local case, it was meant to be dbms name,
not postgres database name,
# has workaround for now, as we don't need dbms name if persistence_type=local
@@ -178,6 +184,11 @@ CHECK_AMBARI_KRB_JAAS_CONFIGURATION_PROPERTY =
"kerberos.check.jaas.configuratio
# JDK
JDK_RELEASES="java.releases"
+class JavaHomeType(Enum):
+ GLOBAL = JAVA_HOME_PROPERTY
+ AMBARI = AMBARI_JAVA_HOME_PROPERTY
+
+
if on_powerpc():
JDK_RELEASES += ".ppc64le"
@@ -1423,13 +1434,12 @@ class JDKRelease:
return (desc, url, dest_file, jcpol_url, jcpol_file, inst_dir, reg_exp)
pass
-def get_JAVA_HOME():
+def get_JAVA_HOME(java_home_type=JavaHomeType.AMBARI):
properties = get_ambari_properties()
if properties == -1:
print_error_msg("Error getting ambari properties")
return None
-
- java_home = properties[JAVA_HOME_PROPERTY]
+ java_home = properties[java_home_type.value]
if (not 0 == len(java_home)) and (os.path.exists(java_home)):
return java_home
@@ -1450,8 +1460,8 @@ def validate_jdk(jdk_path):
#
# Finds the available JDKs.
#
-def find_jdk():
- jdkPath = get_JAVA_HOME()
+def find_jdk(java_home_type=JavaHomeType.AMBARI):
+ jdkPath = get_JAVA_HOME(java_home_type)
if jdkPath:
if validate_jdk(jdkPath):
return jdkPath
@@ -1471,8 +1481,8 @@ def find_jdk():
print_error_msg ("JDK {0} is invalid".format(jdkPath))
return
-def get_java_exe_path():
- jdkPath = find_jdk()
+def get_java_exe_path(java_home_type=JavaHomeType.AMBARI):
+ jdkPath = find_jdk(java_home_type)
if jdkPath:
java_exe = os.path.join(jdkPath, configDefaults.JAVA_EXE_SUBPATH)
return java_exe
diff --git a/ambari-server/src/main/python/ambari_server/serverSetup.py
b/ambari-server/src/main/python/ambari_server/serverSetup.py
index ee3b8e662d..253438c7c3 100644
--- a/ambari-server/src/main/python/ambari_server/serverSetup.py
+++ b/ambari-server/src/main/python/ambari_server/serverSetup.py
@@ -42,7 +42,7 @@ from ambari_server.serverConfiguration import configDefaults,
JDKRelease, get_st
JAVA_HOME, JAVA_HOME_PROPERTY, JCE_NAME_PROPERTY, JDBC_RCA_URL_PROPERTY,
JDBC_URL_PROPERTY, \
JDK_NAME_PROPERTY, JDK_RELEASES, NR_USER_PROPERTY, OS_FAMILY,
OS_FAMILY_PROPERTY, OS_TYPE, OS_TYPE_PROPERTY, OS_VERSION, \
VIEWS_DIR_PROPERTY, JDBC_DATABASE_PROPERTY, JDK_DOWNLOAD_SUPPORTED_PROPERTY,
JCE_DOWNLOAD_SUPPORTED_PROPERTY, SETUP_DONE_PROPERTIES, \
- STACK_JAVA_HOME_PROPERTY, STACK_JDK_NAME_PROPERTY, STACK_JCE_NAME_PROPERTY,
STACK_JAVA_VERSION, GPL_LICENSE_ACCEPTED_PROPERTY
+ STACK_JAVA_HOME_PROPERTY, STACK_JDK_NAME_PROPERTY, STACK_JCE_NAME_PROPERTY,
STACK_JAVA_VERSION, GPL_LICENSE_ACCEPTED_PROPERTY, AMBARI_JAVA_HOME_PROPERTY
from ambari_server.serverUtils import is_server_runing
from ambari_server.setupSecurity import adjust_directory_permissions
from ambari_server.userInput import get_YN_input, get_validated_string_input
@@ -414,6 +414,21 @@ class JDKSetup(object):
jcePolicyWarn = "JCE Policy files are required for configuring Kerberos
security. If you plan to use Kerberos," \
"please make sure JCE Unlimited Strength Jurisdiction
Policy Files are valid on all hosts."
+ if args.ambari_java_home:
+ print('start setting AMBARI_JAVA_HOME for Ambari...')
+ if not validate_jdk(args.ambari_java_home):
+ err = "Path to Ambari java home " + args.ambari_java_home + " or java
binary file does not exist"
+ raise FatalException(1, err)
+
+ print_warning_msg("AMBARI_JAVA_HOME " + args.ambari_java_home + " must
be valid on ALL hosts")
+ print_warning_msg(jcePolicyWarn)
+
+ properties.process_pair(AMBARI_JAVA_HOME_PROPERTY, args.ambari_java_home)
+ properties.removeOldProp(JDK_NAME_PROPERTY)
+ properties.removeOldProp(JCE_NAME_PROPERTY)
+ print('Setting AMBARI_JAVA_HOME for Ambari finished')
+
+
if args.java_home:
#java_home was specified among the command-line arguments. Use it as
custom JDK location.
if not validate_jdk(args.java_home):
diff --git
a/ambari-server/src/main/resources/common-services/AMBARI_INFRA_SOLR/3.0.0/package/scripts/infra_solr.py
b/ambari-server/src/main/resources/common-services/AMBARI_INFRA_SOLR/3.0.0/package/scripts/infra_solr.py
index a4a190b766..17b6941f6a 100755
---
a/ambari-server/src/main/resources/common-services/AMBARI_INFRA_SOLR/3.0.0/package/scripts/infra_solr.py
+++
b/ambari-server/src/main/resources/common-services/AMBARI_INFRA_SOLR/3.0.0/package/scripts/infra_solr.py
@@ -134,8 +134,8 @@ class InfraSolr(Script):
return
zkmigrator = ZkMigrator(
zk_host=params.zk_quorum,
- java_exec=params.java_exec,
- java_home=params.java64_home,
+ java_exec=params.ambari_java_exec,
+ java_home=params.ambari_java_home,
jaas_file=params.infra_solr_jaas_file,
user=params.infra_solr_user)
zkmigrator.set_acls(params.infra_solr_znode, 'world:anyone:crdwa')
diff --git
a/ambari-server/src/main/resources/common-services/AMBARI_INFRA_SOLR/3.0.0/package/scripts/params.py
b/ambari-server/src/main/resources/common-services/AMBARI_INFRA_SOLR/3.0.0/package/scripts/params.py
index 3cbc6a21c4..b9425fb5b7 100755
---
a/ambari-server/src/main/resources/common-services/AMBARI_INFRA_SOLR/3.0.0/package/scripts/params.py
+++
b/ambari-server/src/main/resources/common-services/AMBARI_INFRA_SOLR/3.0.0/package/scripts/params.py
@@ -71,7 +71,8 @@ infra_solr_user_nproc_limit =
default("/configurations/infra-solr-env/infra_solr
# shared configs
java_home = config['ambariLevelParams']['java_home']
ambari_java_home = default("/ambariLevelParams/ambari_java_home", None)
-java64_home = ambari_java_home if ambari_java_home is not None else java_home
+ambari_java_exec = f"{ambari_java_home}/bin/java"
+java64_home = java_home
java_exec = format("{java64_home}/bin/java")
zookeeper_hosts_list = config['clusterHostInfo']['zookeeper_server_hosts']
zookeeper_hosts_list.sort()
diff --git
a/ambari-server/src/main/resources/common-services/AMBARI_METRICS/3.0.0/configuration/ams-env.xml
b/ambari-server/src/main/resources/common-services/AMBARI_METRICS/3.0.0/configuration/ams-env.xml
index d291288416..1014dee9a9 100644
---
a/ambari-server/src/main/resources/common-services/AMBARI_METRICS/3.0.0/configuration/ams-env.xml
+++
b/ambari-server/src/main/resources/common-services/AMBARI_METRICS/3.0.0/configuration/ams-env.xml
@@ -185,13 +185,13 @@ export
AMS_COLLECTOR_HEAPSIZE={{metrics_collector_heapsize}}
export AMS_HBASE_INIT_CHECK_ENABLED={{ams_hbase_init_check_enabled}}
# AMS Collector options
-export
AMS_COLLECTOR_OPTS="-Djava.library.path=/usr/lib/ams-hbase/lib/hadoop-native"
+export
AMS_COLLECTOR_OPTS="-Djava.library.path=/usr/lib/ams-hbase/lib/hadoop-native
--add-opens java.base/java.lang=ALL-UNNAMED"
{% if security_enabled %}
export AMS_COLLECTOR_OPTS="$AMS_COLLECTOR_OPTS
-Dzookeeper.sasl.client.username={{zk_principal_user}}
-Djava.security.auth.login.config={{ams_collector_jaas_config_file}}"
{% endif %}
# AMS Collector GC options
-export AMS_COLLECTOR_GC_OPTS="-XX:+UseConcMarkSweepGC -verbose:gc
-XX:+PrintGCDetails -XX:+PrintGCDateStamps
-Xloggc:{{ams_collector_log_dir}}/collector-gc.log-`date +'%Y%m%d%H%M'`"
+export AMS_COLLECTOR_GC_OPTS=" -verbose:gc -XX:+PrintGCDetails
-Xloggc:{{ams_collector_log_dir}}/collector-gc.log-`date +'%Y%m%d%H%M'`"
export AMS_COLLECTOR_OPTS="$AMS_COLLECTOR_OPTS $AMS_COLLECTOR_GC_OPTS"
# Metrics collector host will be blacklisted for specified number of seconds
if metric monitor failed to connect to it.
diff --git
a/ambari-server/src/main/resources/common-services/AMBARI_METRICS/3.0.0/configuration/ams-hbase-env.xml
b/ambari-server/src/main/resources/common-services/AMBARI_METRICS/3.0.0/configuration/ams-hbase-env.xml
index 77c2406a22..fa557dbfdf 100644
---
a/ambari-server/src/main/resources/common-services/AMBARI_METRICS/3.0.0/configuration/ams-hbase-env.xml
+++
b/ambari-server/src/main/resources/common-services/AMBARI_METRICS/3.0.0/configuration/ams-hbase-env.xml
@@ -201,7 +201,7 @@ The timeout is introduced because there is a known bug when
from time to time HB
# Set environment variables here.
# The java implementation to use. Java 1.6+ required.
-export JAVA_HOME={{java64_home}}
+export JAVA_HOME={{java_home}}
# HBase Configuration directory
export HBASE_CONF_DIR=${HBASE_CONF_DIR:-{{hbase_conf_dir}}}
diff --git
a/ambari-server/src/main/resources/stacks/BIGTOP/3.2.0/services/HIVE/package/scripts/hive_service.py
b/ambari-server/src/main/resources/stacks/BIGTOP/3.2.0/services/HIVE/package/scripts/hive_service.py
index e16738366f..ffa259a7bf 100644
---
a/ambari-server/src/main/resources/stacks/BIGTOP/3.2.0/services/HIVE/package/scripts/hive_service.py
+++
b/ambari-server/src/main/resources/stacks/BIGTOP/3.2.0/services/HIVE/package/scripts/hive_service.py
@@ -150,7 +150,7 @@ def validate_connection(target_path_to_jdbc, hive_lib_path):
Logger.error(error_message)
db_connection_check_command = format(
- "{java64_home}/bin/java -cp {check_db_connection_jar}:{path_to_jdbc}
org.apache.ambari.server.DBConnectionVerification '{hive_jdbc_connection_url}'
{hive_metastore_user_name} {hive_metastore_user_passwd!p} {hive_jdbc_driver}")
+ "{ambari_java_home}/bin/java -cp {check_db_connection_jar}:{path_to_jdbc}
org.apache.ambari.server.DBConnectionVerification '{hive_jdbc_connection_url}'
{hive_metastore_user_name} {hive_metastore_user_passwd!p} {hive_jdbc_driver}")
try:
Execute(db_connection_check_command,
diff --git
a/ambari-server/src/main/resources/stacks/BIGTOP/3.2.0/services/HIVE/package/scripts/params.py
b/ambari-server/src/main/resources/stacks/BIGTOP/3.2.0/services/HIVE/package/scripts/params.py
index 13f95f3fd5..ba8c50e279 100644
---
a/ambari-server/src/main/resources/stacks/BIGTOP/3.2.0/services/HIVE/package/scripts/params.py
+++
b/ambari-server/src/main/resources/stacks/BIGTOP/3.2.0/services/HIVE/package/scripts/params.py
@@ -376,7 +376,8 @@ else:
hive_metastore_heapsize =
config['configurations']['hive-env']['hive.metastore.heapsize']
java64_home = config['ambariLevelParams']['java_home']
-java_exec = format("{java64_home}/bin/java")
+ambari_java_home = config['ambariLevelParams']['ambari_java_home']
+ambari_java_exec = format("{ambari_java_home}/bin/java")
java_version = expect("/ambariLevelParams/java_version", int)
##### MYSQL
diff --git
a/ambari-server/src/main/resources/stacks/BIGTOP/3.3.0/services/RANGER/package/scripts/params.py
b/ambari-server/src/main/resources/stacks/BIGTOP/3.3.0/services/RANGER/package/scripts/params.py
index 8904093cef..dd8e7ece0a 100755
---
a/ambari-server/src/main/resources/stacks/BIGTOP/3.3.0/services/RANGER/package/scripts/params.py
+++
b/ambari-server/src/main/resources/stacks/BIGTOP/3.3.0/services/RANGER/package/scripts/params.py
@@ -117,6 +117,8 @@ usersync_stop = format('{usersync_services_file} stop')
usersync_start = format('{usersync_services_file} start')
java_home = config['ambariLevelParams']['java_home']
+ambari_java_home = config['ambariLevelParams']['ambari_java_home']
+ambari_java_exec = format("{ambari_java_home}/bin/java")
unix_user = config['configurations']['ranger-env']['ranger_user']
unix_group = config['configurations']['ranger-env']['ranger_group']
ranger_pid_dir = default("/configurations/ranger-env/ranger_pid_dir",
"/var/run/ranger")
diff --git
a/ambari-server/src/main/resources/stacks/BIGTOP/3.3.0/services/RANGER/package/scripts/setup_ranger_xml.py
b/ambari-server/src/main/resources/stacks/BIGTOP/3.3.0/services/RANGER/package/scripts/setup_ranger_xml.py
index 51251f42c8..fd961eb4a0 100755
---
a/ambari-server/src/main/resources/stacks/BIGTOP/3.3.0/services/RANGER/package/scripts/setup_ranger_xml.py
+++
b/ambari-server/src/main/resources/stacks/BIGTOP/3.3.0/services/RANGER/package/scripts/setup_ranger_xml.py
@@ -86,7 +86,7 @@ def setup_ranger_admin(upgrade_type=None):
cp = cp + os.pathsep + format("{ranger_home}/ews/lib/*")
db_connection_check_command = format(
- "{java_home}/bin/java -cp {cp}
org.apache.ambari.server.DBConnectionVerification
'{ranger_jdbc_connection_url}' {ranger_db_user} {ranger_db_password!p}
{ranger_jdbc_driver}")
+ "{ambari_java_home}/bin/java -cp {cp}
org.apache.ambari.server.DBConnectionVerification
'{ranger_jdbc_connection_url}' {ranger_db_user} {ranger_db_password!p}
{ranger_jdbc_driver}")
env_dict = {}
if params.db_flavor.lower() == 'sqla':
diff --git
a/ambari-server/src/main/resources/stacks/BIGTOP/3.3.0/services/RANGER_KMS/package/scripts/kms.py
b/ambari-server/src/main/resources/stacks/BIGTOP/3.3.0/services/RANGER_KMS/package/scripts/kms.py
index 0c7e35cbb1..393ab2a178 100755
---
a/ambari-server/src/main/resources/stacks/BIGTOP/3.3.0/services/RANGER_KMS/package/scripts/kms.py
+++
b/ambari-server/src/main/resources/stacks/BIGTOP/3.3.0/services/RANGER_KMS/package/scripts/kms.py
@@ -204,7 +204,7 @@ def kms(upgrade_type=None):
cp = cp + os.pathsep + path_to_jdbc
db_connection_check_command = format(
- "{java_home}/bin/java -cp {cp}
org.apache.ambari.server.DBConnectionVerification
'{ranger_kms_jdbc_connection_url}' {db_user} {db_password!p}
{ranger_kms_jdbc_driver}")
+ "{ambari_java_home}/bin/java -cp {cp}
org.apache.ambari.server.DBConnectionVerification
'{ranger_kms_jdbc_connection_url}' {db_user} {db_password!p}
{ranger_kms_jdbc_driver}")
env_dict = {}
if params.db_flavor.lower() == 'sqla':
diff --git
a/ambari-server/src/main/resources/stacks/BIGTOP/3.3.0/services/RANGER_KMS/package/scripts/params.py
b/ambari-server/src/main/resources/stacks/BIGTOP/3.3.0/services/RANGER_KMS/package/scripts/params.py
index 617513b2f8..98ca7e34c2 100755
---
a/ambari-server/src/main/resources/stacks/BIGTOP/3.3.0/services/RANGER_KMS/package/scripts/params.py
+++
b/ambari-server/src/main/resources/stacks/BIGTOP/3.3.0/services/RANGER_KMS/package/scripts/params.py
@@ -67,6 +67,8 @@ ranger_kms_setup_marker = os.path.join(kms_conf_dir,
"kms_setup")
kms_lib_path = format('{kms_home}/ews/lib/')
kms_log_dir = default("/configurations/kms-env/kms_log_dir",
"/var/log/ranger/kms")
java_home = config['ambariLevelParams']['java_home']
+ambari_java_home = config['ambariLevelParams']['ambari_java_home']
+ambari_java_exec = format("{ambari_java_home}/bin/java")
kms_user = default("/configurations/kms-env/kms_user", "kms")
kms_group = default("/configurations/kms-env/kms_group", "kms")
diff --git
a/ambari-server/src/test/java/org/apache/ambari/server/utils/StageUtilsTest.java
b/ambari-server/src/test/java/org/apache/ambari/server/utils/StageUtilsTest.java
index 3607c0c6a1..341c6db0d5 100644
---
a/ambari-server/src/test/java/org/apache/ambari/server/utils/StageUtilsTest.java
+++
b/ambari-server/src/test/java/org/apache/ambari/server/utils/StageUtilsTest.java
@@ -597,10 +597,11 @@ public class StageUtilsTest extends EasyMockSupport {
Map<String, String> commandParams = new HashMap<>();
Configuration configuration = new Configuration();
configuration.setProperty("java.home", "myJavaHome");
+ configuration.setProperty("ambari.java.home", "ambari_java_home");
// WHEN
StageUtils.useAmbariJdkInCommandParams(commandParams, configuration);
// THEN
- assertEquals("myJavaHome", commandParams.get("ambari_java_home"));
+ assertEquals("ambari_java_home", commandParams.get("ambari_java_home"));
assertEquals(2, commandParams.size());
}
@@ -612,10 +613,11 @@ public class StageUtilsTest extends EasyMockSupport {
configuration.setProperty("java.home", "myJavaHome");
configuration.setProperty("jdk.name", "myJdkName");
configuration.setProperty("jce.name", "myJceName");
+ configuration.setProperty("ambari.java.home", "ambari_java_home");
// WHEN
StageUtils.useAmbariJdkInCommandParams(commandParams, configuration);
// THEN
- assertEquals("myJavaHome", commandParams.get("ambari_java_home"));
+ assertEquals("ambari_java_home", commandParams.get("ambari_java_home"));
assertEquals("myJdkName", commandParams.get("ambari_jdk_name"));
assertEquals("myJceName", commandParams.get("ambari_jce_name"));
assertEquals(4, commandParams.size());
diff --git a/ambari-server/src/test/python/TestAmbariServer.py
b/ambari-server/src/test/python/TestAmbariServer.py
index c863b211b3..ba73e41a29 100644
--- a/ambari-server/src/test/python/TestAmbariServer.py
+++ b/ambari-server/src/test/python/TestAmbariServer.py
@@ -2916,6 +2916,7 @@ class TestAmbariServer(TestCase):
# Successful JDK download
args.java_home = None
+ args.ambari_java_home = None
validate_jdk_mock.return_value = False
path_existsMock.reset_mock()
path_existsMock.side_effect = [False, False, False]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]