[HUDI-82] Adds Presto integration in Docker demo (#847)
This commit is contained in:
committed by
vinoth chandar
parent
1b79ef7672
commit
92eed6aca8
69
docker/hoodie/hadoop/prestobase/Dockerfile
Normal file
69
docker/hoodie/hadoop/prestobase/Dockerfile
Normal file
@@ -0,0 +1,69 @@
|
||||
## Presto docker setup is based on https://github.com/smizy/docker-presto
|
||||
|
||||
ARG HADOOP_VERSION=2.8.4
|
||||
ARG HIVE_VERSION=2.3.3
|
||||
FROM apachehudi/hudi-hadoop_${HADOOP_VERSION}-base:latest as hadoop-base
|
||||
|
||||
ARG PRESTO_VERSION=0.217
|
||||
|
||||
ENV PRESTO_VERSION ${PRESTO_VERSION}
|
||||
ENV PRESTO_HOME /opt/presto-server-${PRESTO_VERSION}
|
||||
ENV PRESTO_CONF_DIR ${PRESTO_HOME}/etc
|
||||
ENV PRESTO_LOG_DIR /var/log/presto
|
||||
ENV PRESTO_JVM_MAX_HEAP 2G
|
||||
ENV PRESTO_QUERY_MAX_MEMORY 1GB
|
||||
ENV PRESTO_QUERY_MAX_MEMORY_PER_NODE 512MB
|
||||
ENV PRESTO_DISCOVERY_URI http://presto-coordinator-1:8090
|
||||
ENV PATH $PATH:${PRESTO_HOME}/bin
|
||||
|
||||
RUN set -x \
|
||||
&& DEBIAN_FRONTEND=noninteractive apt-get -yq update \
|
||||
&& apt-get -yq install \
|
||||
bash \
|
||||
less \
|
||||
python \
|
||||
tar \
|
||||
wget \
|
||||
## - hadoop native dependency lib
|
||||
bzip2 \
|
||||
fts \
|
||||
fuse \
|
||||
libtirpc1 \
|
||||
libsnappy1v5 \
|
||||
zip \
|
||||
cron \
|
||||
gosu \
|
||||
&& rm -rf /var/lib/apt/lists/* \
|
||||
## presto-server
|
||||
&& wget -q -O - https://repo1.maven.org/maven2/com/facebook/presto/presto-server/${PRESTO_VERSION}/presto-server-${PRESTO_VERSION}.tar.gz \
|
||||
| tar -xzf - -C /opt/ \
|
||||
&& mkdir -p /var/hoodie/ws/docker/hoodie/hadoop/prestobase/target/ \
|
||||
## presto-client
|
||||
&& wget -q -O /usr/local/bin/presto https://repo1.maven.org/maven2/com/facebook/presto/presto-cli/${PRESTO_VERSION}/presto-cli-${PRESTO_VERSION}-executable.jar \
|
||||
&& chmod +x /usr/local/bin/presto \
|
||||
## user/dir/permmsion
|
||||
&& adduser --shell /sbin/nologin --uid 1000 docker \
|
||||
&& adduser --shell /sbin/nologin presto \
|
||||
&& mkdir -p \
|
||||
${PRESTO_CONF_DIR} \
|
||||
${PRESTO_LOG_DIR} \
|
||||
&& chmod -R 777 \
|
||||
${PRESTO_HOME} \
|
||||
${PRESTO_LOG_DIR} \
|
||||
## cleanup
|
||||
&& rm -rf /tmp/nativelib
|
||||
|
||||
COPY etc/ ${PRESTO_CONF_DIR}/
|
||||
COPY bin/* /usr/local/bin/
|
||||
COPY lib/* /usr/local/lib/
|
||||
RUN chmod +x /usr/local/bin/entrypoint.sh
|
||||
|
||||
ADD target/ /var/hoodie/ws/docker/hoodie/hadoop/prestobase/target/
|
||||
ENV HUDI_PRESTO_BUNDLE /var/hoodie/ws/docker/hoodie/hadoop/prestobase/target/hudi-presto-bundle.jar
|
||||
RUN cp ${HUDI_PRESTO_BUNDLE} ${PRESTO_HOME}/plugin/hive-hadoop2/
|
||||
|
||||
VOLUME ["${PRESTO_LOG_DIR}"]
|
||||
|
||||
WORKDIR ${PRESTO_HOME}
|
||||
|
||||
ENTRYPOINT ["entrypoint.sh"]
|
||||
Reference in New Issue
Block a user