BIGTOP-2296. Provide a way to build Docker container with functional stack
Project: http://git-wip-us.apache.org/repos/asf/bigtop/repo Commit: http://git-wip-us.apache.org/repos/asf/bigtop/commit/ae9e1634 Tree: http://git-wip-us.apache.org/repos/asf/bigtop/tree/ae9e1634 Diff: http://git-wip-us.apache.org/repos/asf/bigtop/diff/ae9e1634 Branch: refs/heads/BIGTOP-2320 Commit: ae9e1634076e2419bbb943ec7ec0edfc8ed81de4 Parents: 0e3c721 Author: Konstantin Boudnik <[email protected]> Authored: Fri Jan 29 15:39:07 2016 -0800 Committer: Konstantin Boudnik <[email protected]> Committed: Thu Feb 18 11:30:02 2016 +0300 ---------------------------------------------------------------------- build.gradle | 1 + docker/pseudo-cluster/Dockerfile | 31 ++++++++++++++++++++ docker/pseudo-cluster/config/configure.sh | 25 ++++++++++++++++ .../pseudo-cluster/config/hieradata/site.yaml | 10 +++++++ pom.xml | 1 + 5 files changed, 68 insertions(+) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/bigtop/blob/ae9e1634/build.gradle ---------------------------------------------------------------------- diff --git a/build.gradle b/build.gradle index a7b5cc8..f3c50cf 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", http://git-wip-us.apache.org/repos/asf/bigtop/blob/ae9e1634/docker/pseudo-cluster/Dockerfile ---------------------------------------------------------------------- diff --git a/docker/pseudo-cluster/Dockerfile b/docker/pseudo-cluster/Dockerfile new file mode 100644 index 0000000..00820cb --- /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 [email protected] + +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"] http://git-wip-us.apache.org/repos/asf/bigtop/blob/ae9e1634/docker/pseudo-cluster/config/configure.sh ---------------------------------------------------------------------- diff --git a/docker/pseudo-cluster/config/configure.sh b/docker/pseudo-cluster/config/configure.sh new file mode 100755 index 0000000..fd91abf --- /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 http://git-wip-us.apache.org/repos/asf/bigtop/blob/ae9e1634/docker/pseudo-cluster/config/hieradata/site.yaml ---------------------------------------------------------------------- diff --git a/docker/pseudo-cluster/config/hieradata/site.yaml b/docker/pseudo-cluster/config/hieradata/site.yaml new file mode 100644 index 0000000..ddf98d3 --- /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 + http://git-wip-us.apache.org/repos/asf/bigtop/blob/ae9e1634/pom.xml ---------------------------------------------------------------------- diff --git a/pom.xml b/pom.xml index edc151d..4c08530 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>
