HADOOP-12562. Make hadoop dockerfile usable by Yetus. Contributed by Allen Wittenauer.
Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/0ca8df71 Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/0ca8df71 Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/0ca8df71 Branch: refs/heads/yarn-2877 Commit: 0ca8df716a1bb8e7f894914fb0d740a1d14df8e3 Parents: 06a7031 Author: Haohui Mai <whe...@apache.org> Authored: Thu Nov 12 10:17:41 2015 -0800 Committer: Haohui Mai <whe...@apache.org> Committed: Thu Nov 12 10:19:22 2015 -0800 ---------------------------------------------------------------------- dev-support/docker/Dockerfile | 89 ++++++++++++-------- hadoop-common-project/hadoop-common/CHANGES.txt | 3 + 2 files changed, 59 insertions(+), 33 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/hadoop/blob/0ca8df71/dev-support/docker/Dockerfile ---------------------------------------------------------------------- diff --git a/dev-support/docker/Dockerfile b/dev-support/docker/Dockerfile index bc09ef2..e80df29 100644 --- a/dev-support/docker/Dockerfile +++ b/dev-support/docker/Dockerfile @@ -18,26 +18,19 @@ # Dockerfile for installing the necessary dependencies for building Hadoop. # See BUILDING.txt. -# FROM dockerfile/java:openjdk-7-jdk -# FROM dockerfile/java:oracle-java7 + FROM ubuntu:trusty WORKDIR /root -RUN apt-get update && \ - apt-get install -y software-properties-common && \ - add-apt-repository -y ppa:webupd8team/java && \ - apt-get update - -# Auto-accept the Oracle JDK license -RUN echo oracle-java7-installer shared/accepted-oracle-license-v1-1 select true | sudo /usr/bin/debconf-set-selections - -RUN apt-get install -y oracle-java7-installer - -# Install dependencies from packages +###### +# Install common dependencies from packages +###### RUN apt-get update && apt-get install --no-install-recommends -y \ git curl ant make maven \ - cmake gcc g++ protobuf-compiler \ + cmake gcc g++ \ + protobuf-compiler libprotoc-dev \ + protobuf-c-compiler libprotobuf-dev \ build-essential libtool \ zlib1g-dev pkg-config libssl-dev \ snappy libsnappy-dev \ @@ -45,40 +38,70 @@ RUN apt-get update && apt-get install --no-install-recommends -y \ libjansson-dev \ fuse libfuse-dev \ libcurl4-openssl-dev \ - python python2.7 + python python2.7 pylint \ + openjdk-7-jdk doxygen -# Install Forrest -RUN mkdir -p /usr/local/apache-forrest ; \ - curl -O http://archive.apache.org/dist/forrest/0.8/apache-forrest-0.8.tar.gz ; \ - tar xzf *forrest* --strip-components 1 -C /usr/local/apache-forrest ; \ - echo 'forrest.home=/usr/local/apache-forrest' > build.properties +# Fixing the Apache commons / Maven dependency problem under Ubuntu: +# See http://wiki.apache.org/commons/VfsProblems +RUN cd /usr/share/maven/lib && ln -s ../../java/commons-lang.jar . + +####### +# Oracle Java +####### +RUN apt-get install -y software-properties-common +RUN add-apt-repository -y ppa:webupd8team/java +RUN apt-get update + +# Auto-accept the Oracle JDK license +RUN echo oracle-java7-installer shared/accepted-oracle-license-v1-1 select true | sudo /usr/bin/debconf-set-selections +RUN apt-get install -y oracle-java7-installer + +# Auto-accept the Oracle JDK license +RUN echo oracle-java8-installer shared/accepted-oracle-license-v1-1 select true | sudo /usr/bin/debconf-set-selections +RUN apt-get install -y oracle-java8-installer + +###### # Install findbugs +###### RUN mkdir -p /opt/findbugs && \ - wget http://sourceforge.net/projects/findbugs/files/findbugs/3.0.1/findbugs-noUpdateChecks-3.0.1.tar.gz/download \ - -O /opt/findbugs.tar.gz && \ + curl -L https://sourceforge.net/projects/findbugs/files/findbugs/3.0.1/findbugs-noUpdateChecks-3.0.1.tar.gz/download \ + -o /opt/findbugs.tar.gz && \ tar xzf /opt/findbugs.tar.gz --strip-components 1 -C /opt/findbugs ENV FINDBUGS_HOME /opt/findbugs +#### # Install shellcheck +#### RUN apt-get install -y cabal-install RUN cabal update && cabal install shellcheck --global -##### -# bats -##### - -RUN add-apt-repository ppa:duggan/bats --yes -RUN apt-get update -qq -RUN apt-get install -qq bats - -# Fixing the Apache commons / Maven dependency problem under Ubuntu: -# See http://wiki.apache.org/commons/VfsProblems -RUN cd /usr/share/maven/lib && ln -s ../../java/commons-lang.jar . +#### +# Install bats +#### +RUN add-apt-repository -y ppa:duggan/bats +RUN apt-get update +RUN apt-get install -y bats +### # Avoid out of memory errors in builds +### ENV MAVEN_OPTS -Xms256m -Xmx512m +### +# Everything past this point is either not needed for testing or breaks Yetus. +# So tell Yetus not to read the rest of the file: +# YETUS CUT HERE +### + +#### +# Install Forrest (for Apache Hadoop website) +### +RUN mkdir -p /usr/local/apache-forrest ; \ + curl -O http://archive.apache.org/dist/forrest/0.8/apache-forrest-0.8.tar.gz ; \ + tar xzf *forrest* --strip-components 1 -C /usr/local/apache-forrest ; \ + echo 'forrest.home=/usr/local/apache-forrest' > build.properties + # Add a welcome message and environment checks. ADD hadoop_env_checks.sh /root/hadoop_env_checks.sh RUN chmod 755 /root/hadoop_env_checks.sh http://git-wip-us.apache.org/repos/asf/hadoop/blob/0ca8df71/hadoop-common-project/hadoop-common/CHANGES.txt ---------------------------------------------------------------------- diff --git a/hadoop-common-project/hadoop-common/CHANGES.txt b/hadoop-common-project/hadoop-common/CHANGES.txt index 920fd03..8b83794 100644 --- a/hadoop-common-project/hadoop-common/CHANGES.txt +++ b/hadoop-common-project/hadoop-common/CHANGES.txt @@ -953,6 +953,9 @@ Release 2.8.0 - UNRELEASED HADOOP-11684. S3a to use thread pool that blocks clients. (Thomas Demoor and Aaron Fabbri via lei) + HADOOP-12562. Make hadoop dockerfile usable by Yetus. + (Allen Wittenauer via wheat9) + OPTIMIZATIONS HADOOP-11785. Reduce the number of listStatus operation in distcp