是否可以在 EMR Serverless上运行 JDK11 应用程序?

0

【以下的问题经过翻译处理】 是否可以在 EMR Serverless上运行 JDK11 应用程序?我试了下,报错如下:

Job execution failed, please check complete logs in configured logging destination. ExitCode: 1. Last few exceptions: Exception in thread "main" java.lang.UnsupportedClassVersionError: [......] has been compiled by a more recent version of the Java Runtime (class file version 55.0), this version of the Java Runtime only recognizes class file versions up to 52.0...

谢谢!

profile picture
專家
已提問 5 個月前檢視次數 19 次
1 個回答
0

【以下的回答经过翻译处理】 ### 简而言之

现在并不支持。

详细展开

如 Hadoop Java 版本文档 [1] 中所述,Apache Hadoop 3.3 及更高版本支持 Java 8 和 Java 11(仅限Runtime),不支持使用 Java 11 编译 Hadoop。 目前,EMR Serverless 仅支持版本6.6.0的EMR,包含的Hadoop版本是3.2.1,遗憾的是该版本仅支持 Java 8。因此,在 EMR 上更新 java 版本可能会导致不可预期的情况发生。 添加Java 11 的支持已经作为一个功能请求提交给了EMR服务团队。链接 [2] 中列出了 EMR 更新。

出于验证目的,我在 EMR Serverless 中运行了以下的一个简单Spark 任务来检查可用的 Java 版本:

import os

if name == "main": print(os.listdir("/usr/lib/jvm"))

该任务返回以下内容:['jre', 'java-1.8.0-amazon-corretto.x86_64', 'java']。这意味着目前 EMR Serverless 中Java 8是唯一可用的版本。

文档链接:

profile picture
專家
已回答 5 個月前

您尚未登入。 登入 去張貼答案。

一個好的回答可以清楚地回答問題並提供建設性的意見回饋,同時有助於提問者的專業成長。

回答問題指南