日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

flink从0到第一个应用成功运行遇到的所有问题和解决方法

發布時間:2024/2/28 编程问答 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 flink从0到第一个应用成功运行遇到的所有问题和解决方法 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1.無法使用hdfs文件系統作為輸入和輸出(flink無法使用hdfs)

原因:我使用的是flink1.13.3版本比較新,從1.8.X版本之后就沒有直接支持和hadoop的連接了。
如之前的flink安裝包都是這樣的:(帶有hadoop)

需要我們下載相應的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包導入到linux上flink的lib目錄下中

2.使用yarn部署運行flink時會話模式(yarn-session)和使用分離模式時出現0.0.0.0.8032

這個問題可以看:這篇文章的第一個問題。主要就是一個細心問題。另外注意修改一個應用的配置文件后都需要重啟這個應用,否則修改是無效的,這適用于所有應用(如yarn,hdfs,spark,flink,kafka,flume…)。

3.使用idea編寫關于flink的wordcount 程序的java代碼時,使用netcat出現錯誤(包括本地運行和集群運行)。

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.

解決:
依賴中加入:

<dependency><groupId>org.slf4j</groupId><artifactId>slf4j-nop</artifactId><version>1.7.2</version></dependency>

2).Exception in thread “main” org.apache.flink.runtime.client.JobExecutionException: Job execution failed.
先考慮檢查程序代碼:如我在使用時導入包時因為使用了idea的自動修改,導致一個代碼段(DataStream換成了SingleOutputStreamOperator)被修改了,然后就一直出現這個錯誤。
保證自己代碼是正確無誤之后,注意應該先開啟ncat監控端口后run java程序
3).提交到集群上運行時出現“main-class”找不到的錯誤
這是導入包錯誤導致的(不要直接使用maven的package打包工具)
正確導入包的順序:file->project structure->artifacts->±>jar->from module with dependencies->main class 選擇右邊圖標的文件導入方式

選擇自己要運行的主類


刪除/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節點對應的主機名(如node01)

重新打包提交到集群上
先在master(假設為node01)開啟監聽(nc -lk 2020)
再運行這個jar文件(bin/flink run xxxx.jar)

5).打開web UI想查看stdout結果,但是沒有結果
如果當前 flink webui沒有結果不要著急,想一想自己是不是配置了兩個master(HA模式),可以查看下另一個節點上的webui。

( ゜- ゜)つロ

總結

以上是生活随笔為你收集整理的flink从0到第一个应用成功运行遇到的所有问题和解决方法的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。