Hadoop3.4.x使用JDK17启动和Flink提交

修改./etc/hadoop/hadoop-env.sh

export HADOOP_OPTS="--add-opens java.base/java.lang=ALL-UNNAMED"
export JAVA_HOME=/xxx/openlogic-openjdk-17.0.16+8-linux-x64

如果不加上--add-opens, ResourceManager启动是会报错ClassFormatError accessible : module java.base does not "open java.lang"

  • 升级原因



Flink提交脚本

如果是application模式提交(取决于flink版本), 则-yD要替换为-D, 可参考Flink Application脚本提交和常见参数(On Yarn)

export JAVA_HOME=/xx/openlogic-openjdk-17.0.16+8-linux-x64
export FLINK_ENV_JAVA_OPTS_CLI="--add-opens java.base/java.lang=ALL-UNNAMED --add-opens java.base/java.util.concurrent.atomic=ALL-UNNAMED --add-opens java.base/java.util=ALL-UNNAMED  --add-opens java.base/sun.net.util=ALL-UNNAMED "
(https://www.jianshu.com/p/ba0a7ce9de1b)
$FLINK_HOME/bin/flink run -d \
  -m yarn-cluster \
  -yD env.java.opts=" $FLINK_ENV_JAVA_OPTS_CLI" \
  -c com.demo.App xx.jar \
  -t streaming \
  • 报错收集


    提交阶段报错

    运行阶段报错
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容