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上檢視到任務提交情況。(如果失敗,可能還有其他原因導致到異常!)
(後續逐漸跟蹤提交遇到的異常問題,持續更新…)