是否可以在 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
专家
已提问 6 个月前28 查看次数
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
专家
已回答 6 个月前

您未登录。 登录 发布回答。

一个好的回答可以清楚地解答问题和提供建设性反馈,并能促进提问者的职业发展。

回答问题的准则