Updated Branches:
  refs/heads/master 91a0a114b -> bd559f74f

BIGTOP-1161. Have a way to dynamically select components to be deployed by 
Puppet recipes.


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

Branch: refs/heads/master
Commit: bd559f74ff1352ea37f981321c5e79d0c3259f64
Parents: 91a0a11
Author: Konstantin Boudnik <[email protected]>
Authored: Thu Dec 26 17:03:48 2013 -0800
Committer: Konstantin Boudnik <[email protected]>
Committed: Thu Dec 26 17:03:48 2013 -0800

----------------------------------------------------------------------
 bigtop-deploy/puppet/config/site.csv.example |   9 +
 bigtop-deploy/puppet/manifests/cluster.pp    | 257 +++++++++++++---------
 2 files changed, 162 insertions(+), 104 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/bigtop/blob/bd559f74/bigtop-deploy/puppet/config/site.csv.example
----------------------------------------------------------------------
diff --git a/bigtop-deploy/puppet/config/site.csv.example 
b/bigtop-deploy/puppet/config/site.csv.example
index 3937395..2b0286d 100644
--- a/bigtop-deploy/puppet/config/site.csv.example
+++ b/bigtop-deploy/puppet/config/site.csv.example
@@ -10,3 +10,12 @@ hadoop_head_node,hadoopmaster.example.com
 # Storage directories (will be created if doesn't exist)
 hadoop_storage_dirs,/data/1,/data/2,/data/3,/data/4
 bigtop_yumrepo_uri,http://mirror.example.com/path/to/mirror/
+# A list of stack' components to be deployed can be specified via special
+# "$components" list. If $components isn't set then everything in the stack 
will
+# be installed as usual. Otherwise only a specified list will be set
+# Possible elements:
+# hadoop,yarn,hbase,mapred-app,flume,solrcloud,spark,oozie,hcat,sqoop,httpfs,
+# hue,mahout,giraph,crunch,pig,hive,zookeeper
+# Example (to deploy only HDFS and YARN server and gateway parts)
+#components,hadoop,yarn
+

http://git-wip-us.apache.org/repos/asf/bigtop/blob/bd559f74/bigtop-deploy/puppet/manifests/cluster.pp
----------------------------------------------------------------------
diff --git a/bigtop-deploy/puppet/manifests/cluster.pp 
b/bigtop-deploy/puppet/manifests/cluster.pp
index b4bb36d..ab45a0a 100644
--- a/bigtop-deploy/puppet/manifests/cluster.pp
+++ b/bigtop-deploy/puppet/manifests/cluster.pp
@@ -72,6 +72,8 @@ class hadoop_cluster_node {
   $spark_master_port                 = extlookup("spark_master_port", "7077")
   $spark_master_ui_port              = extlookup("spark_master_ui_port", 
"18080")
 
+  $components                        = extlookup("components",    
split($components, ","))
+
   $hadoop_ha_zookeeper_quorum        = 
"${hadoop_head_node}:${hadoop_zookeeper_port}"
   $solrcloud_zk                      = 
"${hadoop_head_node}:${hadoop_zookeeper_port}"
   $hbase_thrift_address              = 
"${hadoop_head_node}:${hbase_thrift_port}"
@@ -118,7 +120,9 @@ class hadoop_cluster_node {
   }
 
   # Flume agent is the only component that goes on EVERY node in the cluster
-  hadoop-flume::agent { "flume agent":
+  if ($components[0] == undef or "flume" in $components) {
+    hadoop-flume::agent { "flume agent":
+    }
   }
 }
 
@@ -144,48 +148,63 @@ class hadoop_worker_node inherits hadoop_cluster_node {
         ha   => $hadoop_ha,
   }
 
-  hadoop::nodemanager { "nodemanager":
-        rm_host => $hadoop_rm_host,
-        rm_port => $hadoop_rm_port,
-        rt_port => $hadoop_rt_port,
-        dirs => $yarn_data_dirs,
-        auth => $hadoop_security_authentication,
+  if ($components[0] == undef or "yarn" in $components) {
+    hadoop::nodemanager { "nodemanager":
+          rm_host => $hadoop_rm_host,
+          rm_port => $hadoop_rm_port,
+          rt_port => $hadoop_rt_port,
+          dirs => $yarn_data_dirs,
+          auth => $hadoop_security_authentication,
+    }
   }
-
-  hadoop-hbase::server { "hbase region server":
-        rootdir => $hadoop_hbase_rootdir,
-        heap_size => $hbase_heap_size,
-        zookeeper_quorum => $hadoop_hbase_zookeeper_quorum,
-        kerberos_realm => $kerberos_realm, 
+  if ($components[0] == undef or "hbase" in $components) {
+    hadoop-hbase::server { "hbase region server":
+          rootdir => $hadoop_hbase_rootdir,
+          heap_size => $hbase_heap_size,
+          zookeeper_quorum => $hadoop_hbase_zookeeper_quorum,
+          kerberos_realm => $kerberos_realm,
+    }
   }
 
-  hadoop::mapred-app { "mapred-app":
-        namenode_host => $hadoop_namenode_host,
-        namenode_port => $hadoop_namenode_port,
-        jobtracker_host => $hadoop_jobtracker_host,
-        jobtracker_port => $hadoop_jobtracker_port,
-        auth => $hadoop_security_authentication,
-        dirs => $mapred_data_dirs,
+  if ($components[0] == undef or "mapred-app" in $components) {
+    hadoop::mapred-app { "mapred-app":
+          namenode_host => $hadoop_namenode_host,
+          namenode_port => $hadoop_namenode_port,
+          jobtracker_host => $hadoop_jobtracker_host,
+          jobtracker_port => $hadoop_jobtracker_port,
+          auth => $hadoop_security_authentication,
+          dirs => $mapred_data_dirs,
+    }
   }
 
-  solr::server { "solrcloud server":
-       port        => $solrcloud_port,
-       port_admin  => $solrcloud_admin_port,
-       zk          => $solrcloud_zk,
-       root_url    => $hadoop_namenode_uri,
-       kerberos_realm => $kerberos_realm,
+  if ($components[0] == undef or "solrcloud" in $components) {
+    solr::server { "solrcloud server":
+         port        => $solrcloud_port,
+         port_admin  => $solrcloud_admin_port,
+         zk          => $solrcloud_zk,
+         root_url    => $hadoop_namenode_uri,
+         kerberos_realm => $kerberos_realm,
+    }
   }
 
-  spark::worker { "spark worker":
-       master_host    => $spark_master_host,
-       master_port    => $spark_master_port,
-       master_ui_port => $spark_master_ui_port,
+  if ($components[0] == undef or "spark" in $components) {
+    spark::worker { "spark worker":
+         master_host    => $spark_master_host,
+         master_port    => $spark_master_port,
+         master_ui_port => $spark_master_ui_port,
+    }
   }
 }
 
 class hadoop_head_node inherits hadoop_worker_node {
 
-  if ($hadoop_security_authentication == "kerberos") {
+  exec { "init hdfs":
+    path    => ['/bin','/sbin','/usr/bin','/usr/sbin'],
+    command => 'bash -x /usr/lib/hadoop/libexec/init-hdfs.sh',
+    require => Package['hadoop-hdfs']
+  }
+
+if ($hadoop_security_authentication == "kerberos") {
     include kerberos::server
     include kerberos::kdc
     include kerberos::kdc::admin_server
@@ -209,71 +228,77 @@ class hadoop_head_node inherits hadoop_worker_node {
     }
   }
 
-  hadoop::resourcemanager { "resourcemanager":
-        host => $hadoop_rm_host,
-        port => $hadoop_rm_port,
-        rt_port => $hadoop_rt_port,
-        sc_port => $hadoop_sc_port,
-        # thrift_port => $hadoop_jobtracker_thrift_port,
-        auth => $hadoop_security_authentication,
-  }
+  if ($components[0] == undef or "yarn" in $components) {
+    hadoop::resourcemanager { "resourcemanager":
+          host => $hadoop_rm_host,
+          port => $hadoop_rm_port,
+          rt_port => $hadoop_rt_port,
+          sc_port => $hadoop_sc_port,
+          # thrift_port => $hadoop_jobtracker_thrift_port,
+          auth => $hadoop_security_authentication,
+    }
 
-  hadoop::historyserver { "historyserver":
-        host => $hadoop_hs_host,
-        port => $hadoop_hs_port,
-        webapp_port => $hadoop_hs_webapp_port,
-        auth => $hadoop_security_authentication,
-  }
+    hadoop::historyserver { "historyserver":
+          host => $hadoop_hs_host,
+          port => $hadoop_hs_port,
+          webapp_port => $hadoop_hs_webapp_port,
+          auth => $hadoop_security_authentication,
+    }
 
-  hadoop::proxyserver { "proxyserver":
-        host => $hadoop_ps_host,
-        port => $hadoop_ps_port,
-        auth => $hadoop_security_authentication,
+    hadoop::proxyserver { "proxyserver":
+          host => $hadoop_ps_host,
+          port => $hadoop_ps_port,
+          auth => $hadoop_security_authentication,
+    }
+    Exec<| title == "init hdfs" |> -> Hadoop::Resourcemanager<||>
+    Exec<| title == "init hdfs" |> -> Hadoop::Historyserver<||>
   }
 
-  hadoop-hbase::master { "hbase master":
-        rootdir => $hadoop_hbase_rootdir,
-        heap_size => $hbase_heap_size,
-        zookeeper_quorum => $hadoop_hbase_zookeeper_quorum,
-        kerberos_realm => $kerberos_realm, 
+  if ($components[0] == undef or "hbase" in $components) {
+    hadoop-hbase::master { "hbase master":
+          rootdir => $hadoop_hbase_rootdir,
+          heap_size => $hbase_heap_size,
+          zookeeper_quorum => $hadoop_hbase_zookeeper_quorum,
+          kerberos_realm => $kerberos_realm,
+    }
+    Exec<| title == "init hdfs" |> -> Hadoop-hbase::Master<||>
   }
 
-  hadoop-oozie::server { "oozie server":
-        kerberos_realm => $kerberos_realm, 
+  if ($components[0] == undef or "oozie" in $components) {
+    hadoop-oozie::server { "oozie server":
+          kerberos_realm => $kerberos_realm,
+    }
+    Hadoop::Mapred-app<||> -> Hadoop-oozie::Server<||>
+    Exec<| title == "init hdfs" |> -> Hadoop-oozie::Server<||>
   }
 
+  if ($components[0] == undef or "hcat" in $components) {
   hcatalog::server { "hcatalog server":
         kerberos_realm => $kerberos_realm,
   }
   hcatalog::webhcat::server { "webhcat server":
         kerberos_realm => $kerberos_realm,
   }
+  }
 
+  if ($components[0] == undef or "spark" in $components) {
   spark::master { "spark master":
        master_host    => $spark_master_host,
        master_port    => $spark_master_port,
        master_ui_port => $spark_master_ui_port,
   }
-
-  hadoop-zookeeper::server { "zookeeper":
-        myid => "0",
-        ensemble => $hadoop_zookeeper_ensemble,
-        kerberos_realm => $kerberos_realm, 
   }
 
-  exec { "init hdfs":
-        path    => ['/bin','/sbin','/usr/bin','/usr/sbin'],
-        command => 'bash -x /usr/lib/hadoop/libexec/init-hdfs.sh',
-        require => Package['hadoop-hdfs']
+  if ($components[0] == undef or "hbase" in $components) {
+    hadoop-zookeeper::server { "zookeeper":
+          myid => "0",
+          ensemble => $hadoop_zookeeper_ensemble,
+          kerberos_realm => $kerberos_realm,
+    }
   }
 
-  Exec<| title == "init hdfs" |> -> Hadoop-hbase::Master<||>
-  Exec<| title == "init hdfs" |> -> Hadoop::Resourcemanager<||>
-  Exec<| title == "init hdfs" |> -> Hadoop::Historyserver<||>
   Exec<| title == "init hdfs" |> -> Hadoop::Rsync_hdfs<||>
-  Exec<| title == "init hdfs" |> -> Hadoop-oozie::Server<||>
 
-  Hadoop::Mapred-app<||> -> Hadoop-oozie::Server<||>
 }
 
 class standby_head_node inherits hadoop_cluster_node {
@@ -294,30 +319,36 @@ class hadoop_gateway_node inherits hadoop_cluster_node {
   $sqoop_server_url                  = 
"http://${fqdn}:${sqoop_server_port}/sqoop";
   $solrcloud_url                     = "http://${fqdn}:${solrcloud_port}/solr/";
 
-  hadoop-sqoop::server { "sqoop server":
-  }
-
-  hadoop::httpfs { "httpfs":
-        namenode_host => $hadoop_namenode_host,
-        namenode_port => $hadoop_namenode_port,
-        auth => $hadoop_security_authentication,
+  if ($components[0] == undef or "sqoop" in $components) {
+    hadoop-sqoop::server { "sqoop server":
+    }
   }
 
-  hue::server { "hue server":
-        rm_url      => $hadoop_rm_url,
-        rm_proxy_url => $hadoop_rm_proxy_url,
-        history_server_url => $hadoop_history_server_url,
-        webhdfs_url => $hadoop_httpfs_url,
-        sqoop_url   => $sqoop_server_url,
-        solr_url    => $solrcloud_url,
-        hbase_thrift_url => $hbase_thrift_address, 
-        rm_host     => $hadoop_rm_host,
-        rm_port     => $hadoop_rm_port,
-        oozie_url   => $hadoop_oozie_url,
-        default_fs  => $hadoop_namenode_uri,
-        kerberos_realm => $kerberos_realm,
+  if ($components[0] == undef or "httpfs" in $components) {
+    hadoop::httpfs { "httpfs":
+          namenode_host => $hadoop_namenode_host,
+          namenode_port => $hadoop_namenode_port,
+          auth => $hadoop_security_authentication,
+    }
+    Hadoop::Httpfs<||> -> Hue::Server<||>
+  }
+
+  if ($components[0] == undef or "hue" in $components) {
+    hue::server { "hue server":
+          rm_url      => $hadoop_rm_url,
+          rm_proxy_url => $hadoop_rm_proxy_url,
+          history_server_url => $hadoop_history_server_url,
+          webhdfs_url => $hadoop_httpfs_url,
+          sqoop_url   => $sqoop_server_url,
+          solr_url    => $solrcloud_url,
+          hbase_thrift_url => $hbase_thrift_address,
+          rm_host     => $hadoop_rm_host,
+          rm_port     => $hadoop_rm_port,
+          oozie_url   => $hadoop_oozie_url,
+          default_fs  => $hadoop_namenode_uri,
+          kerberos_realm => $kerberos_realm,
+    }
   }
-  Hadoop::Httpfs<||> -> Hue::Server<||>
   Hadoop-hbase::Client<||> -> Hue::Server<||>
 
   hadoop::client { "hadoop client":
@@ -327,26 +358,44 @@ class hadoop_gateway_node inherits hadoop_cluster_node {
     jobtracker_port => $hadoop_jobtracker_port,
     # auth => $hadoop_security_authentication,
   }
-  mahout::client { "mahout client":
+  if ($components[0] == undef or "mahout" in $components) {
+    mahout::client { "mahout client":
+    }
   }
-  giraph::client { "giraph client":
-     zookeeper_quorum => $giraph_zookeeper_quorum,
+  if ($components[0] == undef or "giraph" in $components) {
+    giraph::client { "giraph client":
+       zookeeper_quorum => $giraph_zookeeper_quorum,
+    }
   }
-  crunch::client { "crunch client":
+  if ($components[0] == undef or "crunch" in $components) {
+    crunch::client { "crunch client":
+    }
   }
-  hadoop-pig::client { "pig client":
+  if ($components[0] == undef or "pig" in $components) {
+    hadoop-pig::client { "pig client":
+    }
   }
-  hadoop-hive::client { "hive client":
-     hbase_zookeeper_quorum => $hadoop_hbase_zookeeper_quorum,
+  if ($components[0] == undef or "hive" in $components) {
+    hadoop-hive::client { "hive client":
+       hbase_zookeeper_quorum => $hadoop_hbase_zookeeper_quorum,
+    }
   }
-  hadoop-sqoop::client { "sqoop client":
+  if ($components[0] == undef or "sqoop" in $components) {
+    hadoop-sqoop::client { "sqoop client":
+    }
   }
-  hadoop-oozie::client { "oozie client":
+  if ($components[0] == undef or "oozie" in $components) {
+    hadoop-oozie::client { "oozie client":
+    }
   }
-  hadoop-hbase::client { "hbase thrift client":
-    thrift => true,
-    kerberos_realm => $kerberos_realm,
+  if ($components[0] == undef or "hbase" in $components) {
+    hadoop-hbase::client { "hbase thrift client":
+      thrift => true,
+      kerberos_realm => $kerberos_realm,
+    }
   }
-  hadoop-zookeeper::client { "zookeeper client":
+  if ($components[0] == undef or "zookeeper" in $components) {
+    hadoop-zookeeper::client { "zookeeper client":
+    }
   }
 }

Reply via email to