aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKonstantin Boudnik <cos@apache.org>2016-01-29 15:39:07 -0800
committerKonstantin Boudnik <cos@apache.org>2016-02-18 11:30:02 +0300
commitae9e1634076e2419bbb943ec7ec0edfc8ed81de4 (patch)
treed8f9118b747b670c93d0365d02ab7a68ff7c34f6
parent0e3c72192e4f3648cfd85b13941656545062d314 (diff)
downloadbigtop-odpi-ae9e1634076e2419bbb943ec7ec0edfc8ed81de4.tar.gz
BIGTOP-2296. Provide a way to build Docker container with functional stack
-rw-r--r--build.gradle1
-rw-r--r--docker/pseudo-cluster/Dockerfile31
-rwxr-xr-xdocker/pseudo-cluster/config/configure.sh25
-rw-r--r--docker/pseudo-cluster/config/hieradata/site.yaml10
-rw-r--r--pom.xml1
5 files changed, 68 insertions, 0 deletions
diff --git a/build.gradle b/build.gradle
index a7b5cc8d..f3c50cf2 100644
--- a/build.gradle
+++ b/build.gradle
@@ -89,6 +89,7 @@ rat {
"MAINTAINERS.txt",
"buildSrc/build/**",
"bigtop-data-generators/**/input_data/**",
+ "docker/**/*.yaml",
"bigtop-deploy/puppet/**/*.yaml",
"bigtop-deploy/puppet/modules/hadoop/files/*/id_hdfsuser*",
"bigtop-deploy/puppet/modules/bigtop-util/Gemfile.lock",
diff --git a/docker/pseudo-cluster/Dockerfile b/docker/pseudo-cluster/Dockerfile
new file mode 100644
index 00000000..00820cb4
--- /dev/null
+++ b/docker/pseudo-cluster/Dockerfile
@@ -0,0 +1,31 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements. See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+FROM bigtop/deploy:ubuntu-14.04
+MAINTAINER cos@apache.org
+
+WORKDIR /tmp/bigtop
+COPY bigtop-deploy/puppet bigtop-deploy/puppet
+COPY bigtop-deploy/puppet/hieradata /etc/puppet/hieradata
+RUN cp bigtop-deploy/puppet/hiera.yaml /etc/puppet
+COPY docker/pseudo-cluster/config pseudo-cluster
+RUN cp -r pseudo-cluster/* /etc/puppet
+
+RUN puppet apply -d --modulepath=/tmp/bigtop/bigtop-deploy/puppet/modules:/etc/puppet/modules /tmp/bigtop/bigtop-deploy/puppet/manifests/site.pp
+
+RUN apt-get -y install hadoop-hdfs-namenode hadoop-yarn-resourcemanager \
+ hadoop-doc hadoop-client hadoop-yarn-proxyserver \
+ hadoop-mapreduce-historyserver libhdfs0-dev hadoop-hdfs-fuse
+
+ENTRYPOINT ["/tmp/bigtop/pseudo-cluster/configure.sh"]
diff --git a/docker/pseudo-cluster/config/configure.sh b/docker/pseudo-cluster/config/configure.sh
new file mode 100755
index 00000000..fd91abfe
--- /dev/null
+++ b/docker/pseudo-cluster/config/configure.sh
@@ -0,0 +1,25 @@
+#!/bin/bash
+
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements. See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+puppet apply \
+ --modulepath=/tmp/bigtop/bigtop-deploy/puppet/modules:/etc/puppet/modules /tmp/bigtop/bigtop-deploy/puppet/manifests/site.pp && \
+ echo "
+######
+ Use Ctrl-P Ctrl-Q to detach the container without stopping it
+######
+" && \
+ /bin/bash
diff --git a/docker/pseudo-cluster/config/hieradata/site.yaml b/docker/pseudo-cluster/config/hieradata/site.yaml
new file mode 100644
index 00000000..ddf98d32
--- /dev/null
+++ b/docker/pseudo-cluster/config/hieradata/site.yaml
@@ -0,0 +1,10 @@
+bigtop::hadoop_head_node: bigtop1.docker
+hadoop::hadoop_storage_dirs:
+ - /data/1
+ - /data/2
+hadoop_cluster_node::cluster_components:
+ - hadoop
+ - yarn
+bigtop::bigtop_repo_uri: http://bigtop-repos.s3.amazonaws.com/releases/1.1.0/ubuntu/trusty/x86_64
+bigtop::jdk_package_name: openjdk-7-jdk
+
diff --git a/pom.xml b/pom.xml
index edc151de..4c085303 100644
--- a/pom.xml
+++ b/pom.xml
@@ -314,6 +314,7 @@
<exclude>MAINTAINERS.txt</exclude>
<exclude>buildSrc/build/**</exclude>
<exclude>bigtop-data-generators/**/input_data/**</exclude>
+ <exclude>docker/**/*.yaml</exclude>
<exclude>bigtop-deploy/puppet/**/*.yaml</exclude>
<exclude>bigtop-deploy/puppet/modules/hadoop/**/id_hdfsuser*</exclude>
<exclude>bigtop-deploy/puppet/modules/bigtop-util/Gemfile.lock</exclude>