【问题标题】:How to use java runtime 11 in EMR cluster AWS如何在 EMR 集群 AWS 中使用 java runtime 11
【发布时间】:2022-01-27 22:37:42
【问题描述】:

我在 EMR aws 中创建了一个集群,当 spark 运行我的应用程序时,我收到以下错误:

Exception in thread "main" java.lang.UnsupportedClassVersionError: 
com/example/demodriver/MyClassFromJAR 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

我在集群上使用 releaseLabel emr-6.5.0 并且我的驱动程序 jar 是在 java11 中构建的

如何在 EMR 中运行 java11 应用程序?或者这个错误是关于其他什么的?

【问题讨论】:

  • 您好,这意味着您的代码是在您的机器上使用版本 55(可能是 Java 11)编译的。但是你运行代码的机器是较低版本的,所以这行不通。将目标机器更新为相同版本。
  • 嗯,我想是这个原因,但是我不知道如何配置EMR java运行时。 EMR 是否支持 java 11 以及如何设置它?
  • 这个真的很好:) 我试试

标签: java apache-spark amazon-emr java-11


【解决方案1】:

在最新版本的 EMR 中,安装了 java 11。要启用它,您可以提供以下配置。

[
    {
        "Classification": "spark-env",
        "Configurations": [
            {
                "Classification": "export",
                "Properties": {
                    "JAVA_HOME": "/usr/lib/jvm/java-11-amazon-corretto.x86_64"
                }
            }
        ]
    },
    {
        "Classification": "spark-defaults",
        "Properties": {
            "spark.executorEnv.JAVA_HOME": "/usr/lib/jvm/java-11-amazon-corretto.x86_64"
        }
    }
]

这似乎没有记录。

defaultJavaOptionsextraJavaOptions 可能包含与 java 11 不兼容的选项,您可能仍需要调整/更新这些选项。

【讨论】:

  • 我确认这行得通。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2022-10-22
  • 1970-01-01
  • 1970-01-01
  • 2020-02-11
  • 2016-02-19
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多