-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathDockerfile.ubuntu
99 lines (75 loc) · 3.82 KB
/
Dockerfile.ubuntu
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
# ------------------------------ ATLAS CODE COMPILE STAGE ------------------------------
FROM maven:3.8.4-openjdk-8 AS atlas_compile
LABEL maintainer="Hritvik Patel <[email protected]>"
ENV ATLAS_VERSION 2.2.0
RUN apt-get update && \
apt-get -y upgrade && \
apt-get -y install apt-utils patch python && \
cd /tmp && \
wget --retry-connrefused -O apache-atlas-$ATLAS_VERSION-sources.tar.gz https://downloads.apache.org/atlas/$ATLAS_VERSION/apache-atlas-$ATLAS_VERSION-sources.tar.gz && \
mkdir -p /tmp/atlas-src && \
tar xzf /tmp/apache-atlas-$ATLAS_VERSION-sources.tar.gz -C /tmp/atlas-src --strip 1 && \
rm -rf /tmp/apache-atlas-$ATLAS_VERSION-sources.tar.gz
COPY patches/* /tmp/atlas-src
RUN cd /tmp/atlas-src && \
patch -u -b pom.xml -i log4j.patch && \
patch -u -b webapp/src/main/java/org/apache/atlas/web/filters/AtlasAuthenticationFilter.java -i deprecateNDC.patch && \
patch -u -b addons/hive-bridge/src/main/java/org/apache/atlas/hive/bridge/HiveMetaStoreBridge.java -i hive_2_X_X_support.patch && \
sed -i "s/http:\/\/repo1.maven.org\/maven2/https:\/\/repo1.maven.org\/maven2/g" pom.xml && \
export MAVEN_OPTS="-Xms2g -Xmx4g" && \
mvn clean -Dhttps.protocols=TLSv1.2 package -Pdist
# ------------------------------ ATLAS IMAGE CREATION STAGE ------------------------------
FROM ubuntu:bionic
LABEL maintainer="Hritvik Patel <[email protected]>"
ENV ATLAS_VERSION 2.2.0
ENV ATLAS_INSTALL_LOCATION /opt/apache-atlas-$ATLAS_VERSION
COPY --from=atlas_compile /tmp/atlas-src/distro/target/apache-atlas-$ATLAS_VERSION-hive-hook.tar.gz /tmp
COPY --from=atlas_compile /tmp/atlas-src/distro/target/apache-atlas-$ATLAS_VERSION-kafka-hook.tar.gz /tmp
COPY --from=atlas_compile /tmp/atlas-src/distro/target/apache-atlas-$ATLAS_VERSION-server.tar.gz /tmp
RUN apt-get update && \
apt-get -y upgrade && \
apt-get -y install curl iputils-ping openjdk-8-jdk patch python unzip vim && \
apt-get -y autoclean
RUN tar xzf /tmp/apache-atlas-$ATLAS_VERSION-hive-hook.tar.gz -C /opt && \
tar xzf /tmp/apache-atlas-$ATLAS_VERSION-kafka-hook.tar.gz -C /opt && \
tar xzf /tmp/apache-atlas-$ATLAS_VERSION-server.tar.gz -C /opt && \
cp -R /opt/apache-atlas-hive-hook-$ATLAS_VERSION/* $ATLAS_INSTALL_LOCATION && \
cp -R /opt/apache-atlas-kafka-hook-$ATLAS_VERSION/* $ATLAS_INSTALL_LOCATION && \
mkdir -p $ATLAS_INSTALL_LOCATION/conf/patches && \
echo $ATLAS_VERSION > $ATLAS_INSTALL_LOCATION/version.txt && \
rm -rf /opt/apache-atlas-hive-hook-$ATLAS_VERSION /opt/apache-atlas-kafka-hook-$ATLAS_VERSION && \
rm -rf /tmp/*
ENV HBASE_CONF_DIR $ATLAS_INSTALL_LOCATION/conf/hbase
ENV JAVA_HOME /usr/lib/jvm/java-8-openjdk-amd64
COPY patches/* $ATLAS_INSTALL_LOCATION/conf/patches
COPY conf/* $ATLAS_INSTALL_LOCATION/conf
COPY stop_atlas /
COPY docker_entrypoint.sh /
RUN chmod +x /docker_entrypoint.sh && \
chmod +x /stop_atlas && \
mkdir /scripts && \
mv stop_atlas /scripts
ENV PATH $PATH:$JAVA_HOME/bin:/scripts
ENV HOSTNAME localhost
ENV KAFKA_BOOTSTRAP_SERVERS localhost:9092
ENV ATLAS_ZK_QUORUM localhost:2181
ENV HBASE_ZK_QUORUM localhost:2181
ENV KAFKA_ZK_QUORUM localhost:2181
ENV SOLR_ZK_QUORUM localhost:2181
ENV SOLR_HOST localhost
ENV SOLR_PORT 8983
ENV GRAPH_STORAGE_LOCK_WAIT_TIME 10000
ENV CREATE_SOLR_INDICES no
ENV SOLR_ZOOKEEPER_CONNECT_TIMEOUT 600000
ENV SOLR_ZOOKEEPER_SESSION_TIMEOUT 600000
ENV KAFKA_ZOOKEEPER_SESSION_TIMEOUT 60000
ENV KAFKA_ZOOKEEPER_CONNECTION_TIMEOUT 30000
ENV KAFKA_ZOOKEEPER_SYNC_TIME 20
ENV KAFKA_AUTO_COMMIT_INTERVAL 1000
ENV AUDIT_ZOOKEEPER_SESSION_TIMEOUT 10000
ENV HA_ZOOKEEPER_RETRY_SLEEPTIME 1000
ENV HA_ZOOKEEPER_SESSION_TIMEOUT 300000
ENV CLIENT_HA_SLEEP_INTERVAL 5000
EXPOSE 21000
VOLUME ["$ATLAS_INSTALL_LOCATION/conf", "$ATLAS_INSTALL_LOCATION/data", "$ATLAS_INSTALL_LOCATION/logs"]
ENTRYPOINT ["/docker_entrypoint.sh"]