flink从0到第一个应用成功运行遇到的所有问题和解决方法
1.無法使用hdfs文件系統(tǒng)作為輸入和輸出(flink無法使用hdfs)
原因:我使用的是flink1.13.3版本比較新,從1.8.X版本之后就沒有直接支持和hadoop的連接了。
如之前的flink安裝包都是這樣的:(帶有hadoop)
需要我們下載相應(yīng)的uber和cli:
如題主flink1.13.3,scala2.11下載的是:
flink-shaded-hadoop-3-uber-3.1.1.7.2.1.0-327-9.0.jar
commons-cli-1.4.jar
如果沒有可以這樣下載:
選擇好版本就可看到這個界面,點擊files中的jar,下載jar包
下載完成后將這兩個jar包導(dǎo)入到linux上flink的lib目錄下中
2.使用yarn部署運行flink時會話模式(yarn-session)和使用分離模式時出現(xiàn)0.0.0.0.8032
這個問題可以看:這篇文章的第一個問題。主要就是一個細(xì)心問題。另外注意修改一個應(yīng)用的配置文件后都需要重啟這個應(yīng)用,否則修改是無效的,這適用于所有應(yīng)用(如yarn,hdfs,spark,flink,kafka,flume…)。
3.使用idea編寫關(guān)于flink的wordcount 程序的java代碼時,使用netcat出現(xiàn)錯誤(包括本地運行和集群運行)。
1).SLF4J: Failed to load class “org.slf4j.impl.StaticLoggerBinder”.
SLF4J: Defaulting to no-operation (NOP) logger implementation
SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details.
解決:
依賴中加入:
2).Exception in thread “main” org.apache.flink.runtime.client.JobExecutionException: Job execution failed.
先考慮檢查程序代碼:如我在使用時導(dǎo)入包時因為使用了idea的自動修改,導(dǎo)致一個代碼段(DataStream換成了SingleOutputStreamOperator)被修改了,然后就一直出現(xiàn)這個錯誤。
保證自己代碼是正確無誤之后,注意應(yīng)該先開啟ncat監(jiān)控端口后run java程序
3).提交到集群上運行時出現(xiàn)“main-class”找不到的錯誤
這是導(dǎo)入包錯誤導(dǎo)致的(不要直接使用maven的package打包工具)
正確導(dǎo)入包的順序:file->project structure->artifacts->±>jar->from module with dependencies->main class 選擇右邊圖標(biāo)的文件導(dǎo)入方式
選擇自己要運行的主類
刪除/src/main/java
4).集群運行程序,提示org.apache.flink.client.program.ProgramInvocationException: The main method caused an error: org.apache.flink.client.program.ProgramInvocationException: Job failed (JobID:73c52482a7412048f9b459b0ed2e23f9)。
和拒絕連接錯誤: Caused by: java.net.ConnectException: 拒絕連接 (Connection refused)
原因:沒有修改socket連接(至于為什么不能直接使用本地的,原因未知)
將socket的hostname修改為flink集群的master節(jié)點對應(yīng)的主機名(如node01)
重新打包提交到集群上
先在master(假設(shè)為node01)開啟監(jiān)聽(nc -lk 2020)
再運行這個jar文件(bin/flink run xxxx.jar)
5).打開web UI想查看stdout結(jié)果,但是沒有結(jié)果
如果當(dāng)前 flink webui沒有結(jié)果不要著急,想一想自己是不是配置了兩個master(HA模式),可以查看下另一個節(jié)點上的webui。
( ゜- ゜)つロ
總結(jié)
以上是生活随笔為你收集整理的flink从0到第一个应用成功运行遇到的所有问题和解决方法的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: flink与flink-client的版
- 下一篇: 优先级队列应用-称检测点查询