You are viewing a plain text version of this content. The canonical link for it is here.
Posted to common-commits@hadoop.apache.org by sl...@apache.org on 2025/10/10 02:18:11 UTC
(hadoop) branch docker-hadoop-3.4.2-lean updated: HADOOP-19723. Build multi-arch hadoop image (#8023) Contributed by Doroszlai Attila
This is an automated email from the ASF dual-hosted git repository.
slfan1989 pushed a commit to branch docker-hadoop-3.4.2-lean
in repository https://gitbox.apache.org/repos/asf/hadoop.git
The following commit(s) were added to refs/heads/docker-hadoop-3.4.2-lean by this push:
new 486bda14883 HADOOP-19723. Build multi-arch hadoop image (#8023) Contributed by Doroszlai Attila
486bda14883 is described below
commit 486bda148839b4ec49fb5c4ca7676d6af94d72f6
Author: Doroszlai, Attila <64...@users.noreply.github.com>
AuthorDate: Fri Oct 10 04:18:04 2025 +0200
HADOOP-19723. Build multi-arch hadoop image (#8023) Contributed by Doroszlai Attila
* HADOOP-19723. Build multi-arch hadoop image
Signed-off-by: Shilun Fan <sl...@apache.org>
---
.github/workflows/build-hadoop-image.yaml | 8 +++++++-
Dockerfile | 20 +++++++++++++++-----
2 files changed, 22 insertions(+), 6 deletions(-)
diff --git a/.github/workflows/build-hadoop-image.yaml b/.github/workflows/build-hadoop-image.yaml
index 44790c6d195..e193d649d9d 100644
--- a/.github/workflows/build-hadoop-image.yaml
+++ b/.github/workflows/build-hadoop-image.yaml
@@ -48,6 +48,12 @@ jobs:
flavor: |
latest=false
+ - name: Set up QEMU
+ uses: docker/setup-qemu-action@49b3bc8e6bdd4a60e6116a5414239cba5943d3cf
+
+ - name: Set up Docker Buildx
+ uses: docker/setup-buildx-action@c47758b77c9736f4b2ef4073d4d51994fabfe349
+
- name: Login to ghcr.io
id: login
if: ${{ github.event_name != 'pull_request' }}
@@ -61,7 +67,7 @@ jobs:
id: build
uses: docker/build-push-action@4f58ea79222b3b9dc2c8bbdd6debcef730109a75
with:
- platforms: linux/amd64
+ platforms: linux/amd64,linux/arm64
push: ${{ github.event_name != 'pull_request' }}
tags: ${{ steps.meta.outputs.tags }}
labels: ${{ steps.meta.outputs.labels }}
diff --git a/Dockerfile b/Dockerfile
index bd1e3c279cf..12910632777 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -13,11 +13,21 @@
# See the License for the specific language governing permissions and
# limitations under the License.
-FROM apache/hadoop-runner
-ARG HADOOP_URL=https://dlcdn.apache.org/hadoop/common/hadoop-3.4.2/hadoop-3.4.2-lean.tar.gz
-WORKDIR /opt
-RUN sudo rm -rf /opt/hadoop && curl -LSs -o hadoop.tar.gz $HADOOP_URL && tar zxf hadoop.tar.gz && rm hadoop.tar.gz && mv hadoop* hadoop && rm -rf /opt/hadoop/share/doc
+FROM ghcr.io/apache/hadoop-runner:jdk11-u2204
+ARG HADOOP_VERSION=3.4.2
+ARG HADOOP_FLAVOR=-lean
+ARG BASE_URL=https://dlcdn.apache.org/hadoop/common
+ARG TARGETPLATFORM
WORKDIR /opt/hadoop
+RUN set -eux; \
+ echo "Building for ${TARGETPLATFORM}"; \
+ case "${TARGETPLATFORM}" in \
+ linux/amd64) HADOOP_ARCH='' ;; \
+ linux/arm64) HADOOP_ARCH='-aarch64' ;; \
+ *) echo "Unsupported platform: ${TARGETPLATFORM}"; exit 1 ;; \
+ esac; \
+ export HADOOP_URL="${BASE_URL}/hadoop-${HADOOP_VERSION}/hadoop-${HADOOP_VERSION}${HADOOP_ARCH}${HADOOP_FLAVOR}.tar.gz"; \
+ curl -LSs "$HADOOP_URL" | tar -x -z --strip-components 1 && rm -rf /opt/hadoop/share/doc
ADD log4j.properties /opt/hadoop/etc/hadoop/log4j.properties
RUN sudo chown -R hadoop:users /opt/hadoop/etc/hadoop/*
-ENV HADOOP_CONF_DIR /opt/hadoop/etc/hadoop
+ENV HADOOP_CONF_DIR=/opt/hadoop/etc/hadoop
---------------------------------------------------------------------
To unsubscribe, e-mail: common-commits-unsubscribe@hadoop.apache.org
For additional commands, e-mail: common-commits-help@hadoop.apache.org