-
-
Notifications
You must be signed in to change notification settings - Fork 6
feat(hadoop): Add 3.5.0 and 3.4.3 #1511
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
sbernauer
wants to merge
21
commits into
main
Choose a base branch
from
feat/hadoop-3.5.0
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Changes from 2 commits
Commits
Show all changes
21 commits
Select commit
Hold shift + click to select a range
bc58e61
feat: Add Hadoop 3.5.0
sbernauer 74a792e
revert accidential change
sbernauer ec494d3
Bump HDFS dependants 3.4.2 -> 3.4.3
sbernauer 1d7e3ce
Merge branch 'main' into feat/hadoop-3.5.0
sbernauer 61741f6
Fix leftover EOF
sbernauer cde4b7c
Fix hadolint
sbernauer af0a4eb
WIP: Move s3a and abfs jar collection into hadoop builder image
sbernauer bda9e9c
Fixup aws-sdk file name
sbernauer 7499b67
Add note
sbernauer a7b0424
Merge remote-tracking branch 'origin/main' into feat/hadoop-3.5.0
sbernauer cc8731a
Switch to Nexus (as it now works again)
sbernauer eaf0db8
Remove parallel maven builds again
sbernauer a228ca7
Fix another bundle name
sbernauer 4627400
(Hopefully) fix HBase build. Azure libs are already there
sbernauer adca5b6
Downgrade Hadoop in Spark HBase-connector again
sbernauer 4ada3c7
Downgrade HDFS in HBase as well
sbernauer 9619f7e
Merge branch 'main' into feat/hadoop-3.5.0
sbernauer 5241cc6
Use released hdfs-utils
sbernauer 7a1dd16
Merge branch 'main' into feat/hadoop-3.5.0
sbernauer f2b146e
Merge branch 'main' into feat/hadoop-3.5.0
sbernauer 01e6d40
Dont bump dependants
sbernauer File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Some comments aren't visible on the classic Files Changed page.
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,59 @@ | ||
| #!/usr/bin/env bash | ||
| # This script mirrors the boostorg/boost source bundle for the given version to Nexus. | ||
| # The boost source bundle is architecture independent. | ||
| # It contains its own build system (b2) which is also built from source before building boost itself, so we don't need to worry about architecture specific builds. | ||
| # This artifact is used by the hadoop/boost local image. | ||
|
|
||
|
|
||
| set -euo pipefail | ||
|
|
||
| VERSION=${1:?"Missing version number argument (arg 1)"} | ||
| NEXUS_USER=${2:?"Missing Nexus username argument (arg 2)"} | ||
|
|
||
| read -r -s -p "Nexus Password: " NEXUS_PASSWORD | ||
| echo "" | ||
|
|
||
| # https://stackoverflow.com/questions/4632028/how-to-create-a-temporary-directory | ||
| # Find the directory name of the script | ||
| DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" | ||
|
|
||
| # the temp directory used, within $DIR | ||
| WORK_DIR=$(mktemp -d -p "$DIR") | ||
|
|
||
| # check if tmp dir was created | ||
| if [[ ! "$WORK_DIR" || ! -d "$WORK_DIR" ]]; then | ||
| echo "Could not create temp dir" | ||
| exit 1 | ||
| fi | ||
|
|
||
| # deletes the temp directory | ||
| function cleanup { | ||
| rm -rf "$WORK_DIR" | ||
| } | ||
|
|
||
| # register the cleanup function to be called on the EXIT signal | ||
| trap cleanup EXIT | ||
|
|
||
| cd "$WORK_DIR" || exit | ||
|
|
||
| # boost does not currently publish signatures or SBOMs | ||
| BOOST_UNDERSCORE="$(echo "${VERSION}" | tr '.' '_')" | ||
| BOOST_TARBALL="boost_${BOOST_UNDERSCORE}.tar.bz2" | ||
| DOWNLOAD_URL="https://archives.boost.io/release/$VERSION/source/$BOOST_TARBALL" | ||
|
|
||
| echo "Downloading boost" | ||
| if ! curl --fail -Ls -O "$DOWNLOAD_URL"; then | ||
| echo "Failed to download from $DOWNLOAD_URL" | ||
| exit 1 | ||
| fi | ||
|
|
||
| FILE_NAME=$(basename "$DOWNLOAD_URL") | ||
|
|
||
| echo "Uploading boost to Nexus" | ||
| if ! curl --fail -o /dev/null --progress-bar -u "$NEXUS_USER:$NEXUS_PASSWORD" --upload-file "$FILE_NAME" 'https://repo.stackable.tech/repository/packages/boost/'; then | ||
| echo "Failed to upload boost to Nexus" | ||
| exit 1 | ||
| fi | ||
|
|
||
| echo "Successfully uploaded new version of boost ($VERSION) to Nexus" | ||
| echo "https://repo.stackable.tech/service/rest/repository/browse/packages/boost/" |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,11 +1,30 @@ | ||
| [versions."3.3.6".local-images] | ||
| java-devel = "11" | ||
| "shared/boost" = "1.72.0" # I could not find a documented recommended version | ||
|
|
||
| [versions."3.3.6".build-arguments] | ||
| protobuf-version = "3.7.1" | ||
| protobuf-version = "3.7.1" # https://github.com/apache/hadoop/blob/rel/release-3.3.6/BUILDING.txt | ||
|
|
||
|
|
||
| [versions."3.4.2".local-images] | ||
| java-devel = "11" | ||
| java-devel = "11" # https://cwiki.apache.org/confluence/display/HADOOP/Hadoop+Java+Versions | ||
| "shared/boost" = "1.72.0" # https://github.com/apache/hadoop/blob/rel/release-3.4.2/BUILDING.txt | ||
|
|
||
| [versions."3.4.2".build-arguments] | ||
| protobuf-version = "3.7.1" | ||
| protobuf-version = "3.21.12" # https://github.com/apache/hadoop/blob/rel/release-3.4.2/BUILDING.txt | ||
|
|
||
|
|
||
| [versions."3.4.3".local-images] | ||
| java-devel = "11" # https://cwiki.apache.org/confluence/display/HADOOP/Hadoop+Java+Versions | ||
| "shared/boost" = "1.72.0" # https://github.com/apache/hadoop/blob/rel/release-3.4.3/BUILDING.txt | ||
|
|
||
| [versions."3.4.3".build-arguments] | ||
| protobuf-version = "3.21.12" # https://github.com/apache/hadoop/blob/rel/release-3.4.3/BUILDING.txt | ||
|
|
||
|
|
||
| [versions."3.5.0".local-images] | ||
| java-devel = "17" # https://cwiki.apache.org/confluence/display/HADOOP/Hadoop+Java+Versions | ||
| "shared/boost" = "1.86.0" # https://github.com/apache/hadoop/blob/rel/release-3.5.0/BUILDING.txt | ||
|
|
||
| [versions."3.5.0".build-arguments] | ||
| protobuf-version = "3.25.5" # https://github.com/apache/hadoop/blob/rel/release-3.5.0/BUILDING.txt |
22 changes: 22 additions & 0 deletions
22
hadoop/hadoop/stackable/patches/3.4.3/0001-YARN-11527-Update-node.js.patch
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,22 @@ | ||
| From 7ad31a922a9fbcecd884b4bdf5c416f6b0ea539e Mon Sep 17 00:00:00 2001 | ||
| From: Sebastian Bernauer <sebastian.bernauer@stackable.tech> | ||
| Date: Tue, 26 May 2026 15:40:40 +0200 | ||
| Subject: YARN-11527-Update-node.js | ||
|
|
||
| --- | ||
| hadoop-project/pom.xml | 2 +- | ||
| 1 file changed, 1 insertion(+), 1 deletion(-) | ||
|
|
||
| diff --git a/hadoop-project/pom.xml b/hadoop-project/pom.xml | ||
| index 0813904f98a..f837b1f5201 100644 | ||
| --- a/hadoop-project/pom.xml | ||
| +++ b/hadoop-project/pom.xml | ||
| @@ -236,7 +236,7 @@ | ||
| <woodstox.version>5.4.0</woodstox.version> | ||
| <nimbus-jose-jwt.version>10.4</nimbus-jose-jwt.version> | ||
| <jcip-annotations.version>1.0-1</jcip-annotations.version> | ||
| - <nodejs.version>v12.22.1</nodejs.version> | ||
| + <nodejs.version>v14.17.0</nodejs.version> | ||
| <yarnpkg.version>v1.22.5</yarnpkg.version> | ||
| <apache-ant.version>1.10.13</apache-ant.version> | ||
| <jmh.version>1.20</jmh.version> |
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Could we use patchable instead and avoid uploading sources to Nexus?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
As in, it becomes an image layer with a boil-config.toml and patches
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It looks like you did, since there is "shared/boost". We just need to mirror the repo (if not done).
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I copied the Dockerfile from @razvan and he documented it here:
docker-images/shared/boost/Dockerfile
Lines 10 to 14 in 61741f6
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ah ok, cool.
Is it something we want patchable to handle (submodules)?
We should also consider moving to https://codeberg.org/natkr/lappverk/
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I have to admit I personally am happy with the current state. We don't need to patch boost (and I don't expect we will), so I'm willing to save that work till we actually need it.