From 5d9212c139e064c8e643a5145fa38ba6133ec7e6 Mon Sep 17 00:00:00 2001 From: Haohui Mai Date: Thu, 12 Nov 2015 10:17:41 -0800 Subject: [PATCH] HADOOP-12562. Make hadoop dockerfile usable by Yetus. Contributed by Allen Wittenauer. --- dev-support/docker/Dockerfile | 72 +++++++++++++------ .../hadoop-common/CHANGES.txt | 3 + 2 files changed, 53 insertions(+), 22 deletions(-) diff --git a/dev-support/docker/Dockerfile b/dev-support/docker/Dockerfile index ad253a72669..0c1a40e2a66 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,22 +38,41 @@ 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 @@ -68,9 +80,25 @@ RUN cabal update && cabal install shellcheck --global # See http://wiki.apache.org/commons/VfsProblems RUN cd /usr/share/maven/lib && ln -s ../../java/commons-lang.jar . +### # 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 diff --git a/hadoop-common-project/hadoop-common/CHANGES.txt b/hadoop-common-project/hadoop-common/CHANGES.txt index dc85f81013f..b2b903dea55 100644 --- a/hadoop-common-project/hadoop-common/CHANGES.txt +++ b/hadoop-common-project/hadoop-common/CHANGES.txt @@ -326,6 +326,9 @@ Release 2.8.0 - UNRELEASED HADOOP-11685. StorageException complaining " no lease ID" during HBase distributed log splitting (Duo Xu via cnauroth) + HADOOP-12562. Make hadoop dockerfile usable by Yetus. + (Allen Wittenauer via wheat9) + OPTIMIZATIONS HADOOP-11785. Reduce the number of listStatus operation in distcp