##############一些概念和小技巧#########################

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下面的编译记录(转载+自己整理)相关推荐

  1. flink1.12.2+hudi0.9.0测试

    1.环境准备 1.1.flink1.12.2 1.1.1 编译包下载:https://mirrors.tuna.tsinghua.edu.cn/apache/flink/flink-1.12.2/fl ...

  2. 安卓9.0刷linux,Ubuntu系统下编译Android 9.0系统

    8种机械键盘轴体对比 本人程序员,要买一个写代码的键盘,请问红轴和茶轴怎么选? 前言 在Ubuntu系统下编译Android系统.哎呀不知道是不是换了新电脑的缘故,这次编译居然从安装JDK和配置环境下 ...

  3. Flink1.12 - 概述、安装部署及快速入门

    1. Flink概述 1.1 Flink官方介绍 flink官网地址 1.2 Flink组件栈  一个计算框架要有长远的发展,必须打造一个完整的 Stack.只有上层有了具体的应用,并能很好的发挥计算 ...

  4. Ubuntu 16.04 安装记录Install - Recording

    Ubuntu 16.04 安装记录 换源 # 先对原来的sources.list进行备份 # https://www.linuxidc.com/Linux/2017-01/139458.htm sud ...

  5. 在Ubuntu下FFmpeg编译,支持x264和x265(HECV)

    所有下载的源 在Ubuntu下FFmpeg编译,支持x264和x265. Ubuntu 12.04 FFmpeg 2.1 Release 注意: cmake要升级要2.8.8 yasm要升级到1.2. ...

  6. ubuntu bind9 配置简单记录

    ubuntu bind9 配置简单记录 ubuntu版本:Ubuntu 12.04.2 bind9安装:apt-get install bind9 bind9配置文件目录:/etc/bind bind ...

  7. Debian、Ubuntu源码编译制作安装包(二)

    在<Debian.Ubuntu源码编译制作安装包(一)>文章中描述了dpkg基本制作安装包过程,本篇文章描述如何增加patch及解决出错问题. 章节预览: 5. 增加patch 6. 修改 ...

  8. ubuntu下ffmpeg编译安装

    ubuntu下ffmpeg编译安装 解决库链接不上的问题 ubuntu下ffmpeg编译安装   1.ffmpeg是什么东西?相信很多人第一次接触这个东西,我先在这里做个简单的介绍. FFmpeg是一 ...

  9. ubuntu中手动编译源码安装Xorg-server过程中依赖关系的解决

    ubuntu中手动编译源码安装Xorg-server过程中依赖关系的解决 在linux系统中手动编译源码安装软件包的过程是非常痛苦的,然而这一个多星期以来我是强忍住脾气体验了一把,虽然面对慢的令人发指 ...

最新文章

  1. 小样,加张图你就不认识我了?“补丁”模型骗你没商量!| 技术头条
  2. linux 文件系统 启动,linux kernel文件系统启动部分
  3. 【操作系统复习】进程的状态与转换
  4. Mybatis 插入时获取主键的方式
  5. 开启协程_「科普」什么是协程?
  6. 如何把Eclipse工程导入到Android Studio
  7. python创建字典和包的区别_python之路—模块和包
  8. selenium.common.exceptions.StaleElementReferenceException: Message: stale element reference: element
  9. 解决办法:GTK+ 2.x symbols detected
  10. 【FiddlerScript】利用FiddlerScript抓包保利威下载
  11. windows副本不是正版提示解决方法
  12. base64编码计算机网络,什么是Base64(Base64)?
  13. 招商银行一网通H5接口调试和测试报告撰写注意事项
  14. wifi7000米远程连接服务器失败,【电视派控制设备连wifi总失败 怎么办?】PjTime.COM 应用技巧 创维...
  15. LIO-SAM:在高斯牛顿法求解过程中用SO3代替欧拉角
  16. DenseFuse :A Fusion Approach to Infrared and Visible Images解读
  17. 《PCL点云库学习VS2010(X64)》Part 34 旋转平移矩阵用法
  18. Spring3.1.0实现原理分析(七).填充Bean属性,初始化Bean,登记善后处理,注册单例Bean...
  19. max3490esa_MAX490EESA+T
  20. window服务是什么?

热门文章

  1. (转) 使用vivado创建工程 1
  2. codevs 1779 单词的划分
  3. Spring 操作数据库
  4. CG-CTF-Web-AAencode
  5. 学习响应式BootStrap来写融职教育网站,Bootsrtap第十四天,PK模块的开发
  6. flex平均分布换行后自动对齐
  7. this.$nextTick()的使用场景
  8. vscode安装sftp控制文件自动上传
  9. PCL:Ubuntu下安装配置PCL
  10. 标签有关用法以及锚点定位;