您好,登錄后才能下訂單哦!
這篇文章將為大家詳細講解有關怎樣正確使用FlinkX,文章內容質量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關知識有一定的了解。
Git Clone 項目
首先將項目從Github中下載并導入到IDEA中(方法較多,介紹常見的一種)
從IDEA菜單欄里,Git 選項 -> Clone -> Flinkx 項目地址,點擊Clone即可獲取Flinkx 源碼一份!
版本對應
項目clone下來默認版本是 1.10_release,目前推薦的穩定版本是 1.8_release 和 1.10_release。最新版本是1.11_release。但是! 最新不代表最穩定。Flinkx的每一個版本,都對應著Flink的版本, 上下版本不一定兼容,所以使用前,請確定好Flinkx與Flinkx對應的版本。
項目編譯
因為項目中涉及的插件非常的多,所以編譯整個項目耗時非常大,所以建議,對于不需要使用的插件,可以注釋掉。同時,強烈建議,先看 官方文檔,再去編譯
!!!但是,請注意!!!請注意!!!請注意!!!??????
1. 部分插件之間是有依賴關系的,比如:
flinkx-core是被所有插件依賴,千萬不能注釋!
flinkx-rdb模塊是被所有rdb數據源插件依賴,所以在使用類似mysql,oracle等(包括hive,因為連接時用的是jdbc)的場景下,flinkx-rdb模塊千萬不能注釋!
flinkx-test是用于本地調試代碼的模塊,項目打包成jar包時是必須要注釋掉的!
flinkx-launcher模塊是用來將可執行任務提交到對應的執行環境中的,不能注釋!!
2. 部分插件中有些jar包在maven中央倉庫中可能沒有,但是在項目的 jars目錄下,開發者貼心地準備了jar。
除此之外,還特意編寫了將jar包安裝到本地倉庫的可執行腳本。 (如何在不同的系統下執行腳本,請自行百度)
[圖片截取自 官方文檔]
以上內容請注意!!!請注意!!!請注意!!!??????
項目編譯命令
mvn clean package -Dmaven.test.skip
之后在項目的根目錄下,生成對應的插件目錄
1.8_release -> plugins
1.10_release -> syncplugins
二、任務提交
Flinkx支持的任務提交方式有local-test(通過flinkx-test模塊提交任務)、local、standalone、yarn-session、yarn-per-job模式,暫時不支持application模式提交。
從idea中提交任務
使用的 idea版本是 2020.3 公開版,有不一樣的地方自行修改
這里以 yarn-per-job模式為例,其他模式類似,可以看 官方文檔自行配置任務提交參數
1. 配置idea-application
模塊:flinkx-launcher
入口類:Launcher
同樣有個快捷的方式,直接在入口類中,在類的執行按鈕下,選擇“Modify Run Configuration”,即可修改
主要修改任務參數,根據自己的情況對應修改即可,下面貼下idea中一直使用的任務參數
-mode yarnPer -name flinkx-test -job docs/example/stream_stream.json -pluginRoot syncplugins -flinkconf /dtstack/conf/flink -yarnconf /dtstack/conf/yarn -flinkLibJar /dtstack/flink-1.10.1/lib -confProp {\"flink.checkpoint.interval"\:60000} -queue c
任務參數具體什么含義?請看官方文檔的參數說明
任務JSON怎么配置?請看官方文檔,這里就不再多說了,而且,官方還特意整理常用插件的任務JSON,只要對應著修改參數即可,點擊鏈接跳轉(如此貼心的官方還有誰?這難道不值得一個star嘛?)
三、調試代碼
本地調試
首先打開flinkx-test模塊
在LocalTest中 jobPath修改為任務JSON的絕對路徑,點擊執行即可本地調試。官方還特意添加了常用的參數配置
遠程調試
如果需要遠程調試,那么需要在flink-conf.yaml中增加Flink 的遠程調試配置,然后在idea中配置”JVM Remote“,在代碼塊中打斷點(這種方法還能調試Flink 本身的代碼)
env.java.opts.jobmanager: -agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=5005 env.java.opts.taskmanager: -agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=5006
只需要修改標記的這兩個地方,如果是HA集群,需要根據日志修改(怎么看日志,怎么修改,自行查資料)
關于怎樣正確使用FlinkX就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。