117
社区成员




很遗憾这个问题目前依旧没有解决,百度更不要想了基本不可能找到答案,所以只能来这里试一下了。
代码描述: table api读取外部系统changelog流数据---->转成Datastream 数据流过滤一些数据之后再次-->转成Table 对象,开窗口计算。
最后执行调用:
statementSet.execute(); env.execute();
本以为只是一个寻常的程序,结果出乎意料的东西出现了。在yarn正常启动了一个application id, 任务也在正常运行。下面是运行命令,以及yarn的截图
- /usr/local/data/penggan/flink-1.13.6/bin/flink run-application -t yarn-application \
- -Denv.java.opts="-Dfile.encoding=UTF-8" \
- -Djobmanager.memory.process.size=1024m \
- -Dtaskmanager.memory.process.size=4096m \
- -Dtaskmanager.numberOfTaskSlots=2 \
- -Dparallelism.default=2 \
- -Dyarn.provided.lib.dirs="hdfs://cm01/pg/flinklib" \
- -Dyarn.application.name=DominoCafeJoin \
- -Dyarn.application. \
- -c com.bk.domino.join.JoinTableMain \
- /usr/local/data/flink-1.13.6/jobs/original-FlinkSql-1.0-SNAPSHOT.jar hdfs://cm01:8020/pg/earlist/joinddl/
到这里都没有问题,最后打开运行页面发现生成了两个job,这是我知识误区了,不明白为何生成两个job,这样的话我stop指定生成savapoint的时候岂不是要生成两个检查点? 那么问题来了,我从savepoint重新恢复运行怎么办? flink run -s savepointPath 支持传多个savepoint吗? 我完全没有这方面的经验,网上也没有资料。。。
下面是两个job截图:对了jobname都是一样的,只不过点进去之后看到的jobID不同