flink1.12在ubuntu下面的编译记录(转载+自己整理)
##############一些概念和小技巧#########################
git clone?https://gitee.com/fastsource/flink
如何判斷當前版本是什么型號呢?
看各種jar包的后綴名,如果是1.12就表示最新版本號是1.12了
flink-streaming-java_2.11-1.12-SNAPSHOT.jar
#######################################
/home/appleyuchi/桌面/flink的配置實驗/flink/flink-runtime-web/pom.xml中
| 原來的 | 改成 |
| <arguments>ci --cache-max=0 --no-save</arguments> | install -g -registry=https://registry.npm.taobao.org --cache-max=0 --no-save |
準備工作
nvm install v12.11.1(angular支持的最新nodejs版本,絕對不能比這個版本再高了)
npm config set registry http://registry.npm.taobao.org/
npm install --sass-binary-path="linux-x64-72_binding.node"(v12版本的node-sass)
npm config set sass_binary_site http://cdn.npm.taobao.org/dist/node-sass -g
npm install -g @angular/cli
使用全局npm/nodejs編譯web部分[3]
<nodeversion>中10.9.0改成12.11.1(系統node版本)這個已經在[3]中處理了,所以此處劃去.
如果怕編譯失敗,浪費時間,可以
先測試編譯環境是否正常:
只保留<module>flink-runtime-web</module>
注釋掉其他所有module
mvn clean install -T 2C ?-DskipTests ?-Dmaven.compile.fork=true
整體編譯:
flink/pom.xml恢復原樣 (取消原來的注釋)
mvn clean install -T 2C ?-DskipTests ?-Dmaven.compile.fork=true
編譯耗時:
[INFO] Total time: 14:11 min (Wall Clock)
[INFO] Finished at: 2020-06-15T19:01:35+08:00
[3]編譯思路:
①npm編譯(只有runtime-web這個模塊)和maven編譯分別進行,不要混在一起.
②前者npm編譯成功后,再進行整體maven編譯.
#################################附錄-失敗經歷###############################
嘗試一:
-T 2C的意思是機器開啟超線程工作.(我的電腦是四核八線程)
-Dmaven.compile.fork=true的意思是多核編譯.
到底是2C,1.5C還是1C在不同參考資料上有不通說法,下面進行實測,到底哪個快?
| 使用命令(下面的Dskip.npm是錯誤的,不要模仿) | 耗時 |
| mvn clean install -T 1C -DskipTests -Dskip.npm -Dmaven.compile.fork=true | Total time: 15:54 min (Wall Clock) |
| mvn clean install -T 1.5C ?-DskipTests -Dskip.npm -Dmaven.compile.fork=true | Total time: 15:30 min (Wall Clock) |
| mvn clean install -T 2C ?-DskipTests -Dskip.npm -Dmaven.compile.fork=true | Total time: 13:52 min (Wall Clock) |
注意:
多核優勢只能在編譯部分(CPU密集)發揮,
并不能在下載依賴部分(CPU I/O)發揮
上述評測是基于之前第一次已經下載過依賴包,所以能大大節省依賴部分消耗的時間
Wall Clock的含義可以參考[1]
測試過程中可以看到CPU占有率:
編譯后發現webui不能打開,JIRA上被告知是不能有Dskip.npm
這個嘗試雖然是錯誤的,但是知道了2C是能最大限度發揮超線程能力的.
并且發現超線程沒有傳說中的20%,從耗時上來看,比單線程提高了大概10%的性能.
嘗試二:
?猜測flink編譯可能需要全局提供的Angular
遇到下面的報錯
[ERROR] Node.js version v10.9.0 detected.
[ERROR] The Angular CLI requires a minimum Node.js version of either v10.13 or v12.0.
[ERROR]?
[ERROR] Please update your Node.js version or visit https://nodejs.org/ for additional instructions.
[ERROR]?
[ERROR] Aborted (core dumped)
[INFO] /home/appleyuchi/桌面/Flink超線程測試/flink/flink-libraries/flink-cep/src/main/java/org/apache/flink/cep/nfa/sharedbuffer/Lockable.java: Some input files use or override a deprecated API.
[ERROR] npm ERR! code ELIFECYCLE
[ERROR] npm ERR! errno 134
[ERROR] npm ERR! flink-dashboard@2.0.0 build: `ng build --prod --base-href ./`
[ERROR] npm ERR! Exit status 134
[ERROR] npm ERR!?
[ERROR] npm ERR! Failed at the flink-dashboard@2.0.0 build script.
[ERROR] npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
[INFO] /home/appleyuchi/桌面/Flink超線程測試/flink/flink-libraries/flink-cep/src/main/java/org/apache/flink/cep/nfa/sharedbuffer/Lockable.java: Recompile with -Xlint:deprecation for details.
[INFO] /home/appleyuchi/桌面/Flink超線程測試/flink/flink-libraries/flink-cep/src/main/java/org/apache/flink/cep/nfa/NFA.java: Some input files use unchecked or unsafe operations.
[INFO] /home/appleyuchi/桌面/Flink超線程測試/flink/flink-libraries/flink-cep/src/main/java/org/apache/flink/cep/nfa/NFA.java: Recompile with -Xlint:unchecked for details.
[INFO]?
[INFO] --- maven-resources-plugin:3.1.0:testResources (default-testResources) @ flink-cep_2.11 ---
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] Copying 57 resources
[INFO] Copying 3 resources
[INFO]?
[INFO] --- maven-compiler-plugin:3.8.0:testCompile (default-testCompile) @ flink-cep_2.11 ---
[ERROR]?
[ERROR] npm ERR! A complete log of this run can be found in:
[ERROR] npm ERR! ? ? /home/appleyuchi/.npm/_logs/2020-06-15T06_16_37_162Z-debug.log
[INFO] ------------------------------------------------------------------------[ERROR] npm ERR! A complete log of this run can be found in:
[ERROR] npm ERR! ????/home/appleyuchi/.npm/_logs/2020-06-15T06_16_37_162Z-debug.log
[INFO] ------------------------------------------------------------------------
嘗試三:
根據[2]查詢v10.9.0對應的angular版本為8.3.25
nvm install v10.9.0
切換到10.9.0版本
npm install -g @angular/cli@8.3.25無法安裝core dumped
--------------------------------------------------------------------------------------------------------------------------------------------
上面流程總共JIRA+釘釘騷擾了阿里四個人,總算是跑通了,反正騷擾一下總是可以的,恩.
編譯了至少有二十幾次吧,才最后成功.
Reference:
[1]CPU time與WALL time
[2]Is there a compatibility list for Angular / Angular-CLI and Node.js?
[3]在package-lock.json中指定node-mass版本+獨立編譯flink中的flink-runtime-web模塊
總結
以上是生活随笔為你收集整理的flink1.12在ubuntu下面的编译记录(转载+自己整理)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 快手极速版邀请码多少呀?快手极速版邀请码
- 下一篇: ubuntu20.04中gedit使用m