目前,我们有Java应用程序,它运行在Java 8上,使用Hadoop-main 3.1.0。现在我想把它升级到Java 11。由于Hadoop main 3.1.0不支持Java 11,我需要将其升级到Hadoop main 3.3.x,但它仍然只支持Java 11运行时。我不确定我是否需要在Java 8中编译代码并在生产环境中运行Java 11,或者我应该等待Hadoop完全支持Java 11?先谢谢你了
sdnqo3pr1#
Hadoop文档引用Hadoop类本身,而不是特定于客户端的代码。但是,如果您尝试在YARN中运行Java 11+编译的JAR,而YARN没有在NodeManagers上安装JRE 11+,那么您应该会遇到类加载问题。因此,是的,编译到最低可用的JRE版本,但这不应该阻止您在开发/构建计算机上安装JDK 11/17,假设您将构建工具配置为针对较低版本。
1条答案
按热度按时间sdnqo3pr1#
Hadoop文档引用Hadoop类本身,而不是特定于客户端的代码。
但是,如果您尝试在YARN中运行Java 11+编译的JAR,而YARN没有在NodeManagers上安装JRE 11+,那么您应该会遇到类加载问题。
因此,是的,编译到最低可用的JRE版本,但这不应该阻止您在开发/构建计算机上安装JDK 11/17,假设您将构建工具配置为针对较低版本。