Repository: ambari Updated Branches: refs/heads/branch-2.5 37192c9b9 -> 88d93b924
AMBARI-21444. Hive warehouse fixes.(vbrodetskyi) Project: http://git-wip-us.apache.org/repos/asf/ambari/repo Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/88d93b92 Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/88d93b92 Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/88d93b92 Branch: refs/heads/branch-2.5 Commit: 88d93b92429225e03f46cb739a738b9033d45b84 Parents: 37192c9 Author: Vitaly Brodetskyi <vbrodets...@hortonworks.com> Authored: Wed Jul 12 15:07:09 2017 +0300 Committer: Vitaly Brodetskyi <vbrodets...@hortonworks.com> Committed: Wed Jul 12 15:07:09 2017 +0300 ---------------------------------------------------------------------- .../HIVE/0.12.0.2.0/package/scripts/hive.py | 3 +- .../0.12.0.2.0/package/scripts/params_linux.py | 2 ++ .../services/HIVE/configuration/hive-site.xml | 35 ++++++++++++++++++++ .../stacks/2.0.6/HIVE/test_hive_server.py | 2 ++ 4 files changed, 41 insertions(+), 1 deletion(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ambari/blob/88d93b92/ambari-server/src/main/resources/common-services/HIVE/0.12.0.2.0/package/scripts/hive.py ---------------------------------------------------------------------- diff --git a/ambari-server/src/main/resources/common-services/HIVE/0.12.0.2.0/package/scripts/hive.py b/ambari-server/src/main/resources/common-services/HIVE/0.12.0.2.0/package/scripts/hive.py index 1c53804..0d6e6dc 100644 --- a/ambari-server/src/main/resources/common-services/HIVE/0.12.0.2.0/package/scripts/hive.py +++ b/ambari-server/src/main/resources/common-services/HIVE/0.12.0.2.0/package/scripts/hive.py @@ -188,7 +188,8 @@ def hive(name=None): type="directory", action="create_on_execute", owner=params.hive_user, - mode=0777 + group=params.user_group, + mode=params.hive_apps_whs_mode ) else: Logger.info(format("Not creating warehouse directory '{hive_apps_whs_dir}', as the location is not in DFS.")) http://git-wip-us.apache.org/repos/asf/ambari/blob/88d93b92/ambari-server/src/main/resources/common-services/HIVE/0.12.0.2.0/package/scripts/params_linux.py ---------------------------------------------------------------------- diff --git a/ambari-server/src/main/resources/common-services/HIVE/0.12.0.2.0/package/scripts/params_linux.py b/ambari-server/src/main/resources/common-services/HIVE/0.12.0.2.0/package/scripts/params_linux.py index cf116c5..4b595a8 100644 --- a/ambari-server/src/main/resources/common-services/HIVE/0.12.0.2.0/package/scripts/params_linux.py +++ b/ambari-server/src/main/resources/common-services/HIVE/0.12.0.2.0/package/scripts/params_linux.py @@ -506,6 +506,8 @@ hive_env_sh_template = config['configurations']['hive-env']['content'] hive_hdfs_user_dir = format("/user/{hive_user}") hive_hdfs_user_mode = 0755 +#Parameter for custom warehouse directory permissions. Permissions are in octal format and need to be converted to decimal +hive_apps_whs_mode = int(default('/configurations/hive-site/custom.hive.warehouse.mode', '0777'), 8) hive_apps_whs_dir = config['configurations']['hive-site']["hive.metastore.warehouse.dir"] whs_dir_protocol = urlparse(hive_apps_whs_dir).scheme hive_exec_scratchdir = config['configurations']['hive-site']["hive.exec.scratchdir"] http://git-wip-us.apache.org/repos/asf/ambari/blob/88d93b92/ambari-server/src/main/resources/stacks/HDP/2.6/services/HIVE/configuration/hive-site.xml ---------------------------------------------------------------------- diff --git a/ambari-server/src/main/resources/stacks/HDP/2.6/services/HIVE/configuration/hive-site.xml b/ambari-server/src/main/resources/stacks/HDP/2.6/services/HIVE/configuration/hive-site.xml new file mode 100644 index 0000000..a07c16f --- /dev/null +++ b/ambari-server/src/main/resources/stacks/HDP/2.6/services/HIVE/configuration/hive-site.xml @@ -0,0 +1,35 @@ +<?xml version="1.0"?> +<?xml-stylesheet type="text/xsl" href="configuration.xsl"?> +<!-- +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. +--> +<configuration supports_final="true"> + <property> + <name>hive.warehouse.subdir.inherit.perms</name> + <value>true</value> + <description>Set this to true if table directories should inherit the permissions of the warehouse or database directory instead of being created with permissions derived from dfs umask + </description> + <on-ambari-upgrade add="false"/> + </property> + + <property> + <name>hive.start.cleanup.scratchdir</name> + <value>false</value> + <description>To cleanup the hive scratchdir while starting the hive server. + </description> + <on-ambari-upgrade add="false"/> + </property> +</configuration> http://git-wip-us.apache.org/repos/asf/ambari/blob/88d93b92/ambari-server/src/test/python/stacks/2.0.6/HIVE/test_hive_server.py ---------------------------------------------------------------------- diff --git a/ambari-server/src/test/python/stacks/2.0.6/HIVE/test_hive_server.py b/ambari-server/src/test/python/stacks/2.0.6/HIVE/test_hive_server.py index 5a4f8d9..512608c 100644 --- a/ambari-server/src/test/python/stacks/2.0.6/HIVE/test_hive_server.py +++ b/ambari-server/src/test/python/stacks/2.0.6/HIVE/test_hive_server.py @@ -368,6 +368,7 @@ class TestHiveServer(RMFTestCase): hadoop_conf_dir = '/etc/hadoop/conf', type = 'directory', action = ['create_on_execute'], hdfs_resource_ignore_file='/var/lib/ambari-agent/data/.hdfs_resource_ignore', hdfs_site=self.getConfig()['configurations']['hdfs-site'], principal_name='missing_principal', default_fs=default_fs_default, + group = 'hadoop', mode = 0777, ) self.assertResourceCalled('HdfsResource', '/user/hive', @@ -576,6 +577,7 @@ class TestHiveServer(RMFTestCase): hadoop_conf_dir = '/etc/hadoop/conf', type = 'directory', action = ['create_on_execute'], hdfs_resource_ignore_file='/var/lib/ambari-agent/data/.hdfs_resource_ignore', hdfs_site=self.getConfig()['configurations']['hdfs-site'], principal_name='hdfs', default_fs='hdfs://c6401.ambari.apache.org:8020', + group = 'hadoop', mode = 0777, ) self.assertResourceCalled('HdfsResource', '/user/hive',