Skip to content

Commit 5793e5f

Browse files
committed
[SPARK-40941][K8S] Use Java 17 in K8s Dockerfile by default and remove Dockerfile.java17
### What changes were proposed in this pull request? This PR aims to use `Java 17` in K8s Dockerfile by default and remove `Dockerfile.java17`. ### Why are the changes needed? To update for Apache Spark 3.4.0. ``` $ docker run -it --rm kubespark/spark:dev cat /etc/os-release | grep PRETTY PRETTY_NAME="Ubuntu 22.04.1 LTS" ``` ``` $ docker run -it --rm kubespark/spark:dev java -version | grep 64 OpenJDK 64-Bit Server VM Temurin-17.0.4.1+1 (build 17.0.4.1+1, mixed mode, sharing) ``` ### Does this PR introduce _any_ user-facing change? Yes, but only the published docker images will get the latest OS (Ubuntu 22.04.1 LTS) and Java (17 LTS). ### How was this patch tested? Pass the CIs. Closes apache#38417 from dongjoon-hyun/SPARK-40941. Authored-by: Dongjoon Hyun <dongjoon@apache.org> Signed-off-by: Dongjoon Hyun <dongjoon@apache.org>
1 parent 0c7df94 commit 5793e5f

File tree

6 files changed

+4
-72
lines changed

6 files changed

+4
-72
lines changed

bin/docker-image-tool.sh

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -233,7 +233,6 @@ Commands:
233233
234234
Options:
235235
-f file (Optional) Dockerfile to build for JVM based Jobs. By default builds the Dockerfile shipped with Spark.
236-
For Java 17, use `-f kubernetes/dockerfiles/spark/Dockerfile.java17`
237236
-p file (Optional) Dockerfile to build for PySpark Jobs. Builds Python dependencies and ships with Spark.
238237
Skips building PySpark docker image if not specified.
239238
-R file (Optional) Dockerfile to build for SparkR Jobs. Builds R dependencies and ships with Spark.
@@ -277,10 +276,6 @@ Examples:
277276
# Note: buildx, which does cross building, needs to do the push during build
278277
# So there is no separate push step with -X
279278
280-
- Build and push Java17-based image with tag "v3.3.0" to docker.io/myrepo
281-
$0 -r docker.io/myrepo -t v3.3.0 -f kubernetes/dockerfiles/spark/Dockerfile.java17 build
282-
$0 -r docker.io/myrepo -t v3.3.0 push
283-
284279
EOF
285280
}
286281

project/SparkBuild.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -813,7 +813,7 @@ object KubernetesIntegrationTests {
813813
val bindingsDir = s"$sparkHome/resource-managers/kubernetes/docker/src/main/dockerfiles/spark/bindings"
814814
val javaImageTag = sys.props.get("spark.kubernetes.test.javaImageTag")
815815
val dockerFile = sys.props.getOrElse("spark.kubernetes.test.dockerFile",
816-
s"$sparkHome/resource-managers/kubernetes/docker/src/main/dockerfiles/spark/Dockerfile.java17")
816+
s"$sparkHome/resource-managers/kubernetes/docker/src/main/dockerfiles/spark/Dockerfile")
817817
val pyDockerFile = sys.props.getOrElse("spark.kubernetes.test.pyDockerFile",
818818
s"$bindingsDir/python/Dockerfile")
819819
val rDockerFile = sys.props.getOrElse("spark.kubernetes.test.rDockerFile",

resource-managers/kubernetes/docker/src/main/dockerfiles/spark/Dockerfile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
# See the License for the specific language governing permissions and
1515
# limitations under the License.
1616
#
17-
ARG java_image_tag=11-jre-focal
17+
ARG java_image_tag=17-jre
1818

1919
FROM eclipse-temurin:${java_image_tag}
2020

resource-managers/kubernetes/docker/src/main/dockerfiles/spark/Dockerfile.java17

Lines changed: 0 additions & 62 deletions
This file was deleted.

resource-managers/kubernetes/integration-tests/README.md

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,9 +20,8 @@ To run tests with Java 11 instead of Java 8, use `--java-image-tag` to specify t
2020
To run tests with a custom docker image, use `--docker-file` to specify the Dockerfile.
2121
Note that if both `--docker-file` and `--java-image-tag` are used, `--docker-file` is preferred,
2222
and the custom Dockerfile need to include a Java installation by itself.
23-
Dockerfile.java17 is an example of custom Dockerfile, and you can specify it to run tests with Java 17.
2423

25-
./dev/dev-run-integration-tests.sh --docker-file ../docker/src/main/dockerfiles/spark/Dockerfile.java17
24+
./dev/dev-run-integration-tests.sh --docker-file ../docker/src/main/dockerfiles/spark/Dockerfile
2625

2726
To run tests with Hadoop 2.x instead of Hadoop 3.x, use `--hadoop-profile`.
2827

resource-managers/kubernetes/integration-tests/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@
4343
<spark.kubernetes.test.master></spark.kubernetes.test.master>
4444
<spark.kubernetes.test.namespace></spark.kubernetes.test.namespace>
4545
<spark.kubernetes.test.serviceAccountName></spark.kubernetes.test.serviceAccountName>
46-
<spark.kubernetes.test.dockerFile>Dockerfile.java17</spark.kubernetes.test.dockerFile>
46+
<spark.kubernetes.test.dockerFile>Dockerfile</spark.kubernetes.test.dockerFile>
4747

4848
<test.exclude.tags></test.exclude.tags>
4949
<test.default.exclude.tags>org.apache.spark.deploy.k8s.integrationtest.YuniKornTag</test.default.exclude.tags>

0 commit comments

Comments
 (0)