flink1.7.2 升级1.13.6问题集

2022-05-20  本文已影响0人  邵红晓

问题1

分析flink on yarn

根据经验flink on yarn在config.sh 配置 hadoop classpath 并没有完全加载hadooo classpath中所有的环境变量的jar包,避坑:不要在项目中引用hadoop 环境变量中的jar包,为idea调试用,可以配置scope provided

 <dependency>
            <groupId>org.apache.flink</groupId>
            <artifactId>flink-connector-hbase-1.4_2.12</artifactId>
            <version>${flink.version}</version>
        </dependency>
        <dependency>
            <groupId>org.apache.hbase</groupId>
            <!--用于本地测试,hadoop环境使用上面的,如果不这么做,会有依赖冲突,导致yarn exit exitCode: 239 -->
            <artifactId>hbase-shaded-client</artifactId>
            <version>${hbase.version}</version>
            <scope>provided</scope>
        </dependency>

问题2

flink org.apache.logging.log4j.spi.LoggerContextFactory.isClassLoaderDependent()Z 报错
flink on yarn .NoClassDefFoundError: Could not initialize class org.apache.logging.log4j.core.LoggerContext

解决

背景flink1.13 on yarn datastream scala项目

  <!-- 日志实现 将是最好的依赖方式 -->
        <dependency>
            <groupId>org.apache.logging.log4j</groupId>
            <artifactId>log4j-core</artifactId>
            <version>2.17.1</version>
        </dependency>
        <dependency>
            <groupId>org.apache.logging.log4j</groupId>
            <artifactId>log4j-slf4j-impl</artifactId>
            <version>2.17.1</version>
        </dependency>

问题3 Flink akka AskTimeoutException

image.png

解决

背景 flink 1.7.2 datastream scala项目 添加参数 flink-conf.yaml,因为源码对这部分改动很大,可以选择flink到1.13.6,自动修复上诉问题

akka.ask.timeout: 300 s
web.timeout: 600000

问题4 设置参数

yqu etl 发现不生效了

解决

后续指定flink运行参数,建议使用-Dxx=xx
使用 -Dyarn.application.queue=etl

上一篇 下一篇

猜你喜欢

热点阅读