1- FROM openjdk:16-slim
1+ FROM amazoncorretto:8u442-alpine3.21-jre
22
3- ARG HADOOP_VERSION=3.3.0
3+ ARG HADOOP_VERSION=3.4.1
44ARG HIVE_METASTORE_VERSION=3.0.0
5- ARG POSTGRES_CONNECTOR_VERSION=42.2.18
5+ ARG POSTGRES_CONNECTOR_VERSION=42.7.2
66
77WORKDIR /app
8- SHELL ["/bin/bash" , "-o" , "pipefail" , "-c" ]
8+ # SHELL ["/bin/bash", "-o", "pipefail", "-c"]
99
1010# hadolint ignore=DL3008
11- RUN echo "Install OS dependencies" && \
12- build_deps="curl" && \
13- apt-get update -y && \
14- apt-get install -y $build_deps net-tools gettext-base --no-install-recommends
11+ RUN apk update && apk upgrade && apk add net-tools gettext curl
12+
1513RUN echo "Download and extract the Hadoop binary package" && \
1614 curl https://archive.apache.org/dist/hadoop/core/hadoop-$HADOOP_VERSION/hadoop-$HADOOP_VERSION.tar.gz \
1715 | tar xvz -C /opt/ && \
@@ -24,15 +22,42 @@ RUN echo "Download and install the standalone metastore binary" && \
2422RUN echo "Fix 'java.lang.NoSuchMethodError: com.google.common.base.Preconditions.checkArgument'" && \
2523 echo "Keep this until this lands: https://issues.apache.org/jira/browse/HIVE-22915" && \
2624 rm /opt/apache-hive-metastore-$HIVE_METASTORE_VERSION-bin/lib/guava-19.0.jar && \
27- cp /opt/hadoop-$HADOOP_VERSION/share/hadoop/hdfs/lib/guava-27.0-jre.jar /opt/apache-hive-metastore-$HIVE_METASTORE_VERSION-bin/lib/
25+ cp /opt/hadoop-$HADOOP_VERSION/share/hadoop/hdfs/lib/guava-27.0-jre.jar /opt/apache-hive-metastore-$HIVE_METASTORE_VERSION-bin/lib/
2826RUN echo "Download and install the database connector" && \
2927 curl -L https://jdbc.postgresql.org/download/postgresql-$POSTGRES_CONNECTOR_VERSION.jar --output /opt/postgresql-$POSTGRES_CONNECTOR_VERSION.jar && \
3028 ln -s /opt/postgresql-$POSTGRES_CONNECTOR_VERSION.jar /opt/hadoop/share/hadoop/common/lib/ && \
3129 ln -s /opt/postgresql-$POSTGRES_CONNECTOR_VERSION.jar /opt/hive-metastore/lib/
32- RUN echo "Purge build artifacts" && \
33- apt-get purge -y --auto-remove $build_deps && \
34- apt-get clean && \
35- rm -rf /var/lib/apt/lists/*
30+
31+
32+ RUN rm /opt/apache-hive-metastore-3.0.0-bin/lib/jackson-databind-2.9.4.jar
33+ RUN echo "Download and install the database connector" && \
34+ curl -L https://repo1.maven.org/maven2/com/fasterxml/jackson/core/jackson-databind/2.9.6/jackson-databind-2.9.7.jar --output /opt/apache-hive-metastore-3.0.0-bin/lib/jackson-databind-2.9.7.jar
35+
36+ RUN rm /opt/apache-hive-metastore-3.0.0-bin/lib/derby-10.10.2.0.jar
37+ RUN echo "Download and install the database connector" && \
38+ curl -L https://repo1.maven.org/maven2/org/apache/derby/derby/10.14.3/derby-10.14.3.jar --output /opt/apache-hive-metastore-3.0.0-bin/lib/derby-10.14.3.jar
39+
40+ RUN rm /opt/apache-hive-metastore-3.0.0-bin/lib/log4j-1.2-api-2.8.2.jar
41+ RUN rm /opt/apache-hive-metastore-3.0.0-bin/lib/log4j-api-2.8.2.jar
42+ RUN rm /opt/apache-hive-metastore-3.0.0-bin/lib/log4j-core-2.8.2.jar
43+ RUN rm /opt/apache-hive-metastore-3.0.0-bin/lib/log4j-slf4j-impl-2.8.2.jar
44+ RUN echo "Download and install the database connector" && \
45+ curl -L https://repo1.maven.org/maven2/org/apache/logging/log4j/log4j-1.2-api/2.16.0/log4j-1.2-api-2.16.0.jar --output /opt/apache-hive-metastore-3.0.0-bin/lib/log4j-1.2-api-2.16.0.jar && \
46+ curl -L https://repo1.maven.org/maven2/org/apache/logging/log4j/log4j-api/2.16.0/log4j-api-2.16.0.jar --output /opt/apache-hive-metastore-3.0.0-bin/lib/log4j-api-2.16.0.jar && \
47+ curl -L https://repo1.maven.org/maven2/org/apache/logging/log4j/log4j-core/2.16.0/log4j-core-2.16.0.jar --output /opt/apache-hive-metastore-3.0.0-bin/lib/log4j-core-2.16.0.jar && \
48+ curl -L https://repo1.maven.org/maven2/org/apache/logging/log4j/log4j-slf4j-impl/2.16.0/log4j-slf4j-impl-2.16.0.jar --output /opt/apache-hive-metastore-3.0.0-bin/lib/log4j-slf4j-impl-2.16.0.jar
49+
50+ RUN rm /opt/hadoop-3.4.1/share/hadoop/hdfs/lib/avro-1.9.2.jar
51+ RUN rm /opt/hadoop-3.4.1/share/hadoop/common/lib/avro-1.9.2.jar
52+ RUN echo "Download and install the database connector" && \
53+ curl -L https://repo1.maven.org/maven2/org/apache/avro/avro/1.11.4/avro-1.11.4.jar --output /opt/hadoop-3.4.1/share/hadoop/hdfs/lib/avro-1.9.2.jar \
54+ curl -L https://repo1.maven.org/maven2/org/apache/avro/avro/1.11.4/avro-1.11.4.jar --output /opt/hadoop-3.4.1/share/hadoop/common/lib/avro-1.9.2.jar
55+
56+ RUN rm /opt/hadoop-3.4.1/share/hadoop/yarn/timelineservice/lib/htrace-core-3.1.0-incubating.jar
57+ RUN rm /opt/hadoop-3.4.1/share/hadoop/client/hadoop-client-runtime-3.4.1.jar
58+ RUN rm /opt/hadoop-3.4.1/share/hadoop/yarn/hadoop-yarn-applications-catalog-webapp-3.4.1.war
59+
60+ RUN apk add --no-cache bash
3661
3762COPY hive-site.xml hive-site_TEMPLATE.xml
3863COPY metastore-site.xml metastore-site_TEMPLATE.xml
@@ -51,4 +76,4 @@ ENV DATABASE_TYPE_JDBC=postgresql
5176# ENV DATABASE_HOST=metastore-db
5277
5378CMD [ "./run.sh" ]
54- HEALTHCHECK CMD [ "sh" , "-c" , "netstat -ln | grep 9083" ]
79+ HEALTHCHECK CMD [ "sh" , "-c" , "netstat -ln | grep 9083" ]
0 commit comments