|
@@ -26,24 +26,29 @@ from resource_management.libraries.functions.version import format_stack_version
|
|
|
from resource_management.libraries.functions.default import default
|
|
|
from resource_management.libraries.functions.get_bare_principal import get_bare_principal
|
|
|
from resource_management.libraries.script.script import Script
|
|
|
+from resource_management.libraries.functions.stack_features import check_stack_feature
|
|
|
+from resource_management.libraries.functions import StackFeature
|
|
|
|
|
|
import status_params
|
|
|
|
|
|
# server configurations
|
|
|
config = Script.get_config()
|
|
|
+stack_root = status_params.stack_root
|
|
|
exec_tmp_dir = status_params.tmp_dir
|
|
|
|
|
|
# security enabled
|
|
|
security_enabled = status_params.security_enabled
|
|
|
|
|
|
-# hdp version
|
|
|
+# stack name
|
|
|
stack_name = default("/hostLevelParams/stack_name", None)
|
|
|
+# stack version
|
|
|
version = default("/commandParams/version", None)
|
|
|
stack_version_unformatted = config['hostLevelParams']['stack_version']
|
|
|
stack_version_formatted = format_stack_version(stack_version_unformatted)
|
|
|
|
|
|
has_secure_user_auth = False
|
|
|
-if Script.is_stack_greater_or_equal("2.3"):
|
|
|
+if stack_version_formatted and \
|
|
|
+ check_stack_feature(StackFeature.ACCUMULO_KERBEROS_USER_AUTH, stack_version_formatted):
|
|
|
has_secure_user_auth = True
|
|
|
|
|
|
# configuration directories
|
|
@@ -53,7 +58,7 @@ server_conf_dir = status_params.server_conf_dir
|
|
|
# service locations
|
|
|
hadoop_prefix = stack_select.get_hadoop_dir("home")
|
|
|
hadoop_bin_dir = stack_select.get_hadoop_dir("bin")
|
|
|
-zookeeper_home = "/usr/hdp/current/zookeeper-client"
|
|
|
+zookeeper_home = format("{stack_root}/current/zookeeper-client")
|
|
|
|
|
|
# the configuration direction for HDFS/YARN/MapR is the hadoop config
|
|
|
# directory, which is symlinked by hadoop-client only
|
|
@@ -61,7 +66,7 @@ hadoop_conf_dir = conf_select.get_hadoop_conf_dir()
|
|
|
|
|
|
# accumulo local directory structure
|
|
|
log_dir = config['configurations']['accumulo-env']['accumulo_log_dir']
|
|
|
-client_script = "/usr/hdp/current/accumulo-client/bin/accumulo"
|
|
|
+client_script = format("{stack_root}/current/accumulo-client/bin/accumulo")
|
|
|
daemon_script = format("ACCUMULO_CONF_DIR={server_conf_dir} {client_script}")
|
|
|
|
|
|
# user and status
|