You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ambari.apache.org by ec...@apache.org on 2017/10/11 16:35:44 UTC

ambari git commit: AMBARI-22188. Make hive server create directories related to replication (echekanskiy)

Repository: ambari
Updated Branches:
  refs/heads/branch-2.6 589b7499e -> 8c766070a


AMBARI-22188. Make hive server create directories related to replication (echekanskiy)


Project: http://git-wip-us.apache.org/repos/asf/ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/8c766070
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/8c766070
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/8c766070

Branch: refs/heads/branch-2.6
Commit: 8c766070aa7db5f0f5e8da3209716786554b714a
Parents: 589b749
Author: Eugene Chekanskiy <ec...@hortonworks.com>
Authored: Wed Oct 11 19:35:33 2017 +0300
Committer: Eugene Chekanskiy <ec...@hortonworks.com>
Committed: Wed Oct 11 19:35:33 2017 +0300

----------------------------------------------------------------------
 .../HIVE/0.12.0.2.0/configuration/hive-site.xml | 47 ++++++++++++++++++++
 .../HIVE/0.12.0.2.0/package/scripts/hive.py     | 33 +++++++++++++-
 .../0.12.0.2.0/package/scripts/params_linux.py  |  4 ++
 3 files changed, 83 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ambari/blob/8c766070/ambari-server/src/main/resources/common-services/HIVE/0.12.0.2.0/configuration/hive-site.xml
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/resources/common-services/HIVE/0.12.0.2.0/configuration/hive-site.xml b/ambari-server/src/main/resources/common-services/HIVE/0.12.0.2.0/configuration/hive-site.xml
index 2510fda..161dfb2 100644
--- a/ambari-server/src/main/resources/common-services/HIVE/0.12.0.2.0/configuration/hive-site.xml
+++ b/ambari-server/src/main/resources/common-services/HIVE/0.12.0.2.0/configuration/hive-site.xml
@@ -467,4 +467,51 @@ limitations under the License.
     </depends-on>
     <on-ambari-upgrade add="false"/>
   </property>
+
+    <!-- Hive replication properties -->
+    <property>
+      <name>hive.metastore.dml.events</name>
+      <value/>
+      <description>If true, the metastore will be asked to fire events for DML operations</description>
+      <value-attributes>
+        <empty-value-valid>true</empty-value-valid>
+      </value-attributes>
+      <on-ambari-upgrade add="false"/>
+    </property>
+    <property>
+      <name>hive.repl.cm.enabled</name>
+      <value/>
+      <description>Turn on ChangeManager, so delete files will go to cmrootdir.</description>
+      <value-attributes>
+        <empty-value-valid>true</empty-value-valid>
+      </value-attributes>
+      <on-ambari-upgrade add="false"/>
+    </property>
+    <property>
+      <name>hive.metastore.transactional.event.listeners</name>
+      <value/>
+      <description>A comma separated list of Java classes that implement the org.apache.hadoop.hive.metastore.MetaStoreEventListener interface. Both the metastore event and corresponding listener method will be invoked in the same JDO transaction.</description>
+      <value-attributes>
+        <empty-value-valid>true</empty-value-valid>
+      </value-attributes>
+      <on-ambari-upgrade add="false"/>
+    </property>
+    <property>
+      <name>hive.repl.cmrootdir</name>
+      <value/>
+      <description>Root dir for ChangeManager, used for deleted files.</description>
+      <value-attributes>
+        <empty-value-valid>true</empty-value-valid>
+      </value-attributes>
+      <on-ambari-upgrade add="false"/>
+    </property>
+    <property>
+      <name>hive.repl.rootdir</name>
+      <value/>
+      <description>HDFS root dir for all replication dumps.</description>
+      <value-attributes>
+        <empty-value-valid>true</empty-value-valid>
+      </value-attributes>
+      <on-ambari-upgrade add="false"/>
+    </property>
 </configuration>

http://git-wip-us.apache.org/repos/asf/ambari/blob/8c766070/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 0d6e6dc..abbe59e 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
@@ -209,7 +209,21 @@ def hive(name=None):
                            owner=params.hive_user,
                            group=params.hdfs_user,
                            mode=0777) # Hive expects this dir to be writeable by everyone as it is used as a temp dir
-      
+    if params.hive_repl_cmrootdir is not None:
+      params.HdfsResource(params.hive_repl_cmrootdir,
+                          type = "directory",
+                          action = "create_on_execute",
+                          owner = params.hive_user,
+                          group=params.user_group,
+                          mode = 01777)
+    if params.hive_repl_rootdir is not None:
+      params.HdfsResource(params.hive_repl_rootdir,
+                          type = "directory",
+                          action = "create_on_execute",
+                          owner = params.hive_user,
+                          group=params.user_group,
+                          mode = 0700)
+
     params.HdfsResource(None, action="execute")
 
   Directory(params.hive_etc_dir_prefix,
@@ -320,6 +334,23 @@ def hive(name=None):
                            create_parents = True,
                            mode=0777)
 
+    if params.hive_repl_cmrootdir is not None:
+      params.HdfsResource(params.hive_repl_cmrootdir,
+                        type = "directory",
+                        action = "create_on_execute",
+                        owner = params.hive_user,
+                        group=params.user_group,
+                        mode = 01777)
+    if params.hive_repl_rootdir is not None:
+      params.HdfsResource(params.hive_repl_rootdir,
+                          type = "directory",
+                          action = "create_on_execute",
+                          owner = params.hive_user,
+                          group=params.user_group,
+                          mode = 0700)
+    if params.hive_repl_cmrootdir is not None or params.hive_repl_rootdir is not None:
+      params.HdfsResource(None, action="execute")
+
   elif name == 'hiveserver2':
     File(params.start_hiveserver2_path,
          mode=0755,

http://git-wip-us.apache.org/repos/asf/ambari/blob/8c766070/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 bcc1826..9c6db00 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
@@ -868,3 +868,7 @@ if 'druid-common' in config['configurations'] \
 
 
 manage_hive_fsroot = default('/configurations/cluster-env/manage_hive_fsroot', True)
+
+# replication directories
+hive_repl_cmrootdir = default('/configurations/hive-site/hive.repl.cmrootdir', None)
+hive_repl_rootdir = default('/configurations/hive-site/hive.repl.rootdir', None)