aboutsummaryrefslogtreecommitdiff
path: root/bigtop-deploy
diff options
context:
space:
mode:
authorRoman Shaposhnik <rvs@apache.org>2016-11-08 11:34:56 -0800
committerRoman Shaposhnik <rvs@apache.org>2016-11-08 19:41:58 -0800
commit34bdd63c85f10abb79e35be9725399130a8f792a (patch)
treeab3c39cd83cfd671460c2c626f74d81698b0fb8e /bigtop-deploy
parent0c82c31f77fee6f749a1295e20fd3cd8d20c2c4a (diff)
BIGTOP-2579. Puppet needs to be updated for Hive Metastore service
Diffstat (limited to 'bigtop-deploy')
-rw-r--r--bigtop-deploy/puppet/hieradata/bigtop/cluster.yaml1
-rw-r--r--bigtop-deploy/puppet/manifests/cluster.pp2
-rw-r--r--bigtop-deploy/puppet/modules/hadoop_hive/manifests/init.pp23
-rw-r--r--bigtop-deploy/puppet/modules/hadoop_hive/templates/hive-site.xml29
4 files changed, 54 insertions, 1 deletions
diff --git a/bigtop-deploy/puppet/hieradata/bigtop/cluster.yaml b/bigtop-deploy/puppet/hieradata/bigtop/cluster.yaml
index 89ac967f..7779d21d 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"
diff --git a/bigtop-deploy/puppet/manifests/cluster.pp b/bigtop-deploy/puppet/manifests/cluster.pp
index 7d31ef94..d9f6e019 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 => {
diff --git a/bigtop-deploy/puppet/modules/hadoop_hive/manifests/init.pp b/bigtop-deploy/puppet/modules/hadoop_hive/manifests/init.pp
index 4b10a25a..538308c0 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"]
+ }
}
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 a9730553..6e4b4b67 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>