IDEA如何将项目打包至jar放至Linux系统下

新建好的maven工程,为了方便在Linux环境中运行,将其打包成jar格式,用spark-submit命令放在spark集群环境下运行,为了方便后期忘事,作此笔记

IDEA将maven工程打包

单击File->Project Structure->Artifacts

Jar打包
Jar打包

选择自己需要打包的main函数,

Jar打包
Jar打包

这里以getLineMain为例,上图中箭头1表示的是主函数的类,这个后期在linux环境中运行需要用到。箭头2中的路径最好重新配置一下,其中META-INF/MANIFEST.MF的文件路径最好设置在src路径下: ...\src\MF-IDF\jar的名字

Jar打包

点击OK后,继续配置相关路径
Jar打包

将上图箭头1,2,3的名字重新命名,具体如下图。jar的名字一定要统一
Jar打包

点击ok,你会在工程的目录下看见生成了一个刚刚设置路径的文件夹MF-INF
Jar打包

别以为这样就完了,点击Build->Build Artifacts...,选好自己的jar包
Jar打包

out文件夹下可以发现jar文件
Jar打包

将jar文件放置Linux的spark集群上

此时你需要一个sh脚本,方便后台运行

zip -d getBaseLine.jar META-INF/*.RSA META-INF/*.DSA META-INF/*.SF
nohup spark-submit --class trafficLine.getLineMain getBaseLine.jar >> /home/spark/DataminingServer/logs/yiutto/Yt_ntProcess.log 2>&1 &

nohup为LINUX命令用法,不挂断地运行命令,要运行后台中的 nohup 命令,添加 &( 表示”and”的符号)到命令的尾部。

1.查看运行的后台进程jobs -l,jobs命令只看当前终端生效的,关闭终端后,在另一个终端jobs已经无法看到后台跑得程序了,此时利用ps(进程查看命令)
2.ps -ef, 用ps -def | grep查找进程很方便,注:用ps -def | grep查找进程很方便,最后一行总是会grep自己,用grep -v参数可以将grep命令排除掉
3.再用awk提取进程ID,ps -aux|grep chat.js| grep -v grep | awk '{print $2}'

nohup和&后台运行,进程查看及终止

/home/spark/DataminingServer/logs/yiutto/Yt_ntProcess.log是我的日志路径

^_^ This article ends Thank you for reading ^_^

Powered by Hexo and Hexo-theme-hiker

Copyright © 2017 - 2018 Programming prodigal All Rights Reserved.

UV : | PV :