diff options
author | Roman Shaposhnik <rvs@apache.org> | 2016-11-08 11:34:56 -0800 |
---|---|---|
committer | Roman Shaposhnik <rvs@apache.org> | 2016-11-08 19:41:58 -0800 |
commit | 34bdd63c85f10abb79e35be9725399130a8f792a (patch) | |
tree | ab3c39cd83cfd671460c2c626f74d81698b0fb8e /bigtop-deploy | |
parent | 0c82c31f77fee6f749a1295e20fd3cd8d20c2c4a (diff) |
BIGTOP-2579. Puppet needs to be updated for Hive Metastore service
Diffstat (limited to 'bigtop-deploy')
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> |