Repository: bigtop
Updated Branches:
  refs/heads/master 0c82c31f7 -> 34bdd63c8


BIGTOP-2579. Puppet needs to be updated for Hive Metastore service


Project: http://git-wip-us.apache.org/repos/asf/bigtop/repo
Commit: http://git-wip-us.apache.org/repos/asf/bigtop/commit/34bdd63c
Tree: http://git-wip-us.apache.org/repos/asf/bigtop/tree/34bdd63c
Diff: http://git-wip-us.apache.org/repos/asf/bigtop/diff/34bdd63c

Branch: refs/heads/master
Commit: 34bdd63c85f10abb79e35be9725399130a8f792a
Parents: 0c82c31
Author: Roman Shaposhnik <[email protected]>
Authored: Tue Nov 8 11:34:56 2016 -0800
Committer: Roman Shaposhnik <[email protected]>
Committed: Tue Nov 8 19:41:58 2016 -0800

----------------------------------------------------------------------
 .../puppet/hieradata/bigtop/cluster.yaml        |  1 +
 bigtop-deploy/puppet/manifests/cluster.pp       |  2 +-
 .../modules/hadoop_hive/manifests/init.pp       | 23 ++++++++++++++++
 .../modules/hadoop_hive/templates/hive-site.xml | 29 ++++++++++++++++++++
 4 files changed, 54 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/bigtop/blob/34bdd63c/bigtop-deploy/puppet/hieradata/bigtop/cluster.yaml
----------------------------------------------------------------------
diff --git a/bigtop-deploy/puppet/hieradata/bigtop/cluster.yaml 
b/bigtop-deploy/puppet/hieradata/bigtop/cluster.yaml
index 89ac967..7779d21 100644
--- a/bigtop-deploy/puppet/hieradata/bigtop/cluster.yaml
+++ b/bigtop-deploy/puppet/hieradata/bigtop/cluster.yaml
@@ -188,6 +188,7 @@ giraph::client::zookeeper_quorum: 
"%{hiera('bigtop::hadoop_head_node')}"
 
 hadoop_hive::common_config::hbase_zookeeper_quorum: 
"%{hiera('hadoop_hbase::common_config::zookeeper_quorum')}"
 hadoop_hive::common_config::kerberos_realm: "%{hiera('kerberos::site::realm')}"
+hadoop_hive::common_config::metastore_uris: 
"thrift://%{hiera('bigtop::hadoop_head_node')}:9083"
 
 # tez
 hadoop::common::tez_conf_dir: "/etc/tez/conf"

http://git-wip-us.apache.org/repos/asf/bigtop/blob/34bdd63c/bigtop-deploy/puppet/manifests/cluster.pp
----------------------------------------------------------------------
diff --git a/bigtop-deploy/puppet/manifests/cluster.pp 
b/bigtop-deploy/puppet/manifests/cluster.pp
index 7d31ef9..d9f6e01 100644
--- a/bigtop-deploy/puppet/manifests/cluster.pp
+++ b/bigtop-deploy/puppet/manifests/cluster.pp
@@ -97,7 +97,7 @@ $roles_map = {
     client => ["pig-client"],
   },
   hive => {
-    master => ["hive-server2"],
+    master => ["hive-server2", "hive-metastore"],
     client => ["hive-client"],
   },
   tez => {

http://git-wip-us.apache.org/repos/asf/bigtop/blob/34bdd63c/bigtop-deploy/puppet/modules/hadoop_hive/manifests/init.pp
----------------------------------------------------------------------
diff --git a/bigtop-deploy/puppet/modules/hadoop_hive/manifests/init.pp 
b/bigtop-deploy/puppet/modules/hadoop_hive/manifests/init.pp
index 4b10a25..538308c 100644
--- a/bigtop-deploy/puppet/modules/hadoop_hive/manifests/init.pp
+++ b/bigtop-deploy/puppet/modules/hadoop_hive/manifests/init.pp
@@ -20,6 +20,10 @@ class hadoop_hive {
       include hadoop_hive::client
     }
 
+    if ("hive-metastore" in $roles) {
+      include hadoop_hive::metastore
+    }
+
     if ("hive-server2" in $roles) {
       include hadoop_hive::server2
 
@@ -40,6 +44,7 @@ class hadoop_hive {
   class common_config ($hbase_master = "",
                        $hbase_zookeeper_quorum = "",
                        $kerberos_realm = "",
+                       $metastore_uris = "",
                        $server2_thrift_port = "10000",
                        $server2_thrift_http_port = "10001",
                        $hive_execution_engine = "mr") {
@@ -81,4 +86,22 @@ class hadoop_hive {
     } 
     Kerberos::Host_keytab <| title == "hive" |> -> Service["hive-server2"]
   }
+
+  class metastore {
+    include hadoop_hive::common_config
+
+    package { "hive-metastore":
+      ensure => latest,
+    }
+
+    service { "hive-metastore":
+      ensure => running,
+      require => Package["hive-server2"],
+      subscribe => File["/etc/hive/conf/hive-site.xml"],
+      hasrestart => true,
+      hasstatus => true,
+    }
+    Kerberos::Host_keytab <| title == "hive" |> -> Service["hive-metastore"]
+    Service["hive-metastore"] -> Service["hive-server2"]
+  }
 }

http://git-wip-us.apache.org/repos/asf/bigtop/blob/34bdd63c/bigtop-deploy/puppet/modules/hadoop_hive/templates/hive-site.xml
----------------------------------------------------------------------
diff --git a/bigtop-deploy/puppet/modules/hadoop_hive/templates/hive-site.xml 
b/bigtop-deploy/puppet/modules/hadoop_hive/templates/hive-site.xml
index a973055..6e4b4b6 100644
--- a/bigtop-deploy/puppet/modules/hadoop_hive/templates/hive-site.xml
+++ b/bigtop-deploy/puppet/modules/hadoop_hive/templates/hive-site.xml
@@ -85,6 +85,18 @@
    <value><%= @server2_thrift_http_port %></value>
 </property>
 
+<% if @metastore_uris != "" %>
+<property>
+   <name>hive.metastore.uris</name>
+   <value><%= @metastore_uris %></value>
+</property>
+<% end %>
+
+<property>
+   <name>hive.security.metastore.authorization.manager</name>
+   
<value>org.apache.hadoop.hive.ql.security.authorization.StorageBasedAuthorizationProvider</value>
+</property>
+
 <% if @kerberos_realm != "" %>
 <property>
     <name>hive.server2.authentication</name>
@@ -98,5 +110,22 @@
     <name>hive.server2.authentication.kerberos.keytab</name>
     <value>/etc/hive.keytab</value>
 </property>
+
+<property>
+    <name>hive.metastore.kerberos.principal</name>
+    <value>hive/_HOST@<%= @kerberos_realm %></value>
+</property>
+<property>
+    <name>hive.metastore.kerberos.keytab.file</name>
+    <value>/etc/hive.keytab</value>
+</property>
+<property>
+    <name>hive.metastore.pre.event.listeners</name>
+    
<value>org.apache.hadoop.hive.ql.security.authorization.AuthorizationPreEventListener</value>
+</property>
+<property>
+    <name>hive.metastore.sasl.enabled</name>
+    <value>true</value>
+</property>
 <% end %> 
 </configuration>

Reply via email to