HADOOP-12562. Make hadoop dockerfile usable by Yetus. Contributed by Allen Wittenauer.
This commit is contained in:
parent
06a70311b9
commit
0ca8df716a
@ -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
|
||||
|
||||
# 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
|
||||
|
||||
# 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 && \
|
||||
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
|
||||
python python2.7 pylint \
|
||||
openjdk-7-jdk doxygen
|
||||
|
||||
# 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 && \
|
||||
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
|
||||
|
||||
####
|
||||
# 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
|
||||
|
@ -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
|
||||
|
Loading…
Reference in New Issue
Block a user