Skip to content

Commit 00547c9

Browse files
committed
HDDS-14452. Created a single container ozone quickstart image
1 parent 3481ace commit 00547c9

File tree

4 files changed

+538
-10
lines changed

4 files changed

+538
-10
lines changed

Dockerfile

Lines changed: 78 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -13,16 +13,86 @@
1313
# See the License for the specific language governing permissions and
1414
# limitations under the License.
1515

16-
ARG OZONE_RUNNER_IMAGE=apache/ozone-runner
17-
ARG OZONE_RUNNER_VERSION=20260106-1-jdk21
16+
ARG OZONE_VERSION=2.1.0
17+
ARG OZONE_RUNNER_IMAGE=apache/ozone
18+
ARG OZONE_RUNNER_VERSION=${OZONE_VERSION}-slim
19+
1820
FROM ${OZONE_RUNNER_IMAGE}:${OZONE_RUNNER_VERSION}
1921

20-
ARG OZONE_VERSION=2.1.0
21-
ARG OZONE_URL="https://www.apache.org/dyn/closer.lua?action=download&filename=ozone/${OZONE_VERSION}/ozone-${OZONE_VERSION}.tar.gz"
22+
# Environment variables for Ozone configuration
23+
ENV CORE-SITE.XML_fs.defaultFS=ofs://localhost \
24+
CORE-SITE.XML_fs.trash.interval=1 \
25+
CORE-SITE.XML_hadoop.proxyuser.hadoop.hosts=* \
26+
CORE-SITE.XML_hadoop.proxyuser.hadoop.groups=* \
27+
OZONE-SITE.XML_ozone.om.address=localhost \
28+
OZONE-SITE.XML_ozone.om.http-address=localhost:9874 \
29+
OZONE-SITE.XML_ozone.scm.http-address=localhost:9876 \
30+
OZONE-SITE.XML_ozone.scm.container.size=1GB \
31+
OZONE-SITE.XML_ozone.scm.block.size=1MB \
32+
OZONE-SITE.XML_ozone.scm.datanode.ratis.volume.free-space.min=10MB \
33+
OZONE-SITE.XML_ozone.scm.pipeline.creation.interval=5s \
34+
OZONE-SITE.XML_ozone.scm.pipeline.owner.container.count=1 \
35+
OZONE-SITE.XML_ozone.scm.ec.pipeline.minimum=1 \
36+
OZONE-SITE.XML_ozone.scm.names=localhost \
37+
OZONE-SITE.XML_ozone.scm.datanode.id.dir=/data/metadata \
38+
OZONE-SITE.XML_ozone.scm.block.client.address=localhost \
39+
OZONE-SITE.XML_ozone.metadata.dirs=/data/metadata \
40+
OZONE-SITE.XML_ozone.recon.db.dir=/data/metadata/recon \
41+
OZONE-SITE.XML_ozone.scm.client.address=localhost \
42+
OZONE-SITE.XML_hdds.datanode.dir=/data/hdds \
43+
OZONE-SITE.XML_hdds.datanode.volume.min.free.space=100MB \
44+
OZONE-SITE.XML_hdds.datanode.volume.min.free.space.percent=0 \
45+
OZONE-SITE.XML_ozone.recon.address=localhost:9891 \
46+
OZONE-SITE.XML_ozone.recon.http-address=0.0.0.0:9888 \
47+
OZONE-SITE.XML_ozone.recon.https-address=0.0.0.0:9889 \
48+
OZONE-SITE.XML_ozone.recon.om.snapshot.task.interval.delay=1m \
49+
OZONE-SITE.XML_ozone.datanode.pipeline.limit=1 \
50+
OZONE-SITE.XML_hdds.scmclient.max.retry.timeout=30s \
51+
OZONE-SITE.XML_hdds.container.report.interval=60s \
52+
OZONE-SITE.XML_ozone.scm.stale.node.interval=30s \
53+
OZONE-SITE.XML_ozone.scm.dead.node.interval=45s \
54+
OZONE-SITE.XML_hdds.heartbeat.interval=5s \
55+
OZONE-SITE.XML_ozone.scm.close.container.wait.duration=5s \
56+
OZONE-SITE.XML_hdds.scm.replication.thread.interval=15s \
57+
OZONE-SITE.XML_hdds.scm.replication.under.replicated.interval=5s \
58+
OZONE-SITE.XML_hdds.scm.replication.over.replicated.interval=5s \
59+
OZONE-SITE.XML_hdds.scm.wait.time.after.safemode.exit=5s \
60+
OZONE-SITE.XML_ozone.http.basedir=/tmp/ozone_http \
61+
OZONE-SITE.XML_hdds.container.ratis.datastream.enabled=true \
62+
OZONE-SITE.XML_ozone.fs.hsync.enabled=true \
63+
OZONE-SITE.XML_ozone.recon.dn.metrics.collection.minimum.api.delay=5s \
64+
OZONE-SITE.XML_ozone.filesystem.snapshot.enabled=true \
65+
OZONE-SITE.XML_ozone.server.default.replication=1 \
66+
OZONE-SITE.XML_hdds.scm.safemode.min.datanode=1 \
67+
OZONE-SITE.XML_dfs.container.ratis.datanode.storage.dir=/data/metadata/dn \
68+
OZONE_CONF_DIR=/etc/hadoop \
69+
OZONE_LOG_DIR=/var/log/hadoop \
70+
no_proxy=localhost,127.0.0.1
71+
72+
# Expose all service ports
73+
# SCM ports
74+
EXPOSE 9876 9860
75+
# OM ports
76+
EXPOSE 9874 9862
77+
# DataNode ports
78+
EXPOSE 19864 9882
79+
# S3 Gateway ports
80+
EXPOSE 9878 19878
81+
# Recon ports
82+
EXPOSE 9888
83+
# HttpFS ports
84+
EXPOSE 14000
85+
86+
# Expose volumes for data persistence
87+
VOLUME ["/data/metadata"]
88+
VOLUME ["/data/hdds"]
89+
VOLUME ["/var/log/hadoop"]
2290

23-
WORKDIR /opt
24-
RUN sudo rm -rf /opt/hadoop && curl -LSs -o ozone.tar.gz $OZONE_URL && tar zxf ozone.tar.gz && rm ozone.tar.gz && mv ozone* hadoop
91+
# Create startup script and set permissions
92+
COPY --chmod=755 start-all-services.sh /usr/local/bin/start-all-services.sh
2593

26-
WORKDIR /opt/hadoop
94+
# Switch to root to allow volume initialization
95+
USER root
2796

28-
CMD ["echo","Please check https://github.com/apache/ozone-docker for information."]
97+
# Set the startup script as the entrypoint
98+
CMD ["/usr/local/bin/start-all-services.sh"]

0 commit comments

Comments
 (0)