1. 程式人生 > >Flink提交執行中常見問題總結

Flink提交執行中常見問題總結

Flink提交執行中常見問題總結


一、問題1

1.問題描述:

提交jar到Flink叢集時候出現:
java.util.ServiceConfigurationError: org.apache.hadoop.fs.FileSystem: Provider org.apache.hadoop.fs.viewfs.ViewFileSystem could not be instantiated

可能原因解釋:

出現該問題,往往是由於沒有爭取讀取到hadoop中配置資訊,

解決方法:

在執行./flink run -c cc.tt.mainClass ./root/myFlinkJar.jar 時候主動初始化hadoop環境

HADOOP_HOME=/hadoop/hadoop-2.7.2 
HADOOP_CONF_DIR=/hadoop/hadoop-2.7.2/etc/hadoop/ 
FLINK_HOME=/home/flink-1.4.2

同時建議使用Flink提供的官方flink-hadoop依賴包,自身提供的hadoop的jar包坑不全
在maven中pom.xml中加入如下依賴
使用不同的flink官方包:如果要做checkpoint功能,需要此時需要配置

 <!-- https://mvnrepository.com/artifact/org.apache.flink/flink-shaded-hadoop2 -->
<dependency> <groupId>org.apache.flink</groupId> <artifactId>flink-shaded-hadoop2</artifactId> <version>1.4.2</version> </dependency>

ps:其他的maven中的依賴項,見我的另外一篇部落格:
https://blog.csdn.net/fct2001140269/article/details/84864151

二、問題描述.

提交執行Flink的jar包時候,出現錯誤[Flink JobExecutionException: akka.client.timeout]

問題分析:

表面來看就是你的工程沒有在規定的時間內(Flink叢集預設配置中是60s),可能是你的工程專案比較大,jobManager程序難以在規定的短時間內完成Flink的邏輯topology圖的構建,或者難以在規定的時間內,完成各個運算元(例如:richMapFunction())的初始化等工作;

解決辦法:

建議在叢集中配置如下選型:增加job作業提交允許的構建和初始化讀取資源的時間。

    -akka.client.timeout:600s
    -akka.ask.timeout:600s

重新提交jar包到叢集中,等待一段時間可以在web-ui上檢視到任務提交情況。(如果失敗,可能還有其他原因導致到異常!)


(後續逐漸跟蹤提交遇到的異常問題,持續更新…)