由于 spark 的部署环境在服务器 (docker 部署) 上面, 所以导致网络映射特别复杂
. 导致本地开发直连线上只能略过; 如果能本地机器也部署一套 spark + hadoop 还好, 可惜机器配置性能辣鸡
, 部署完之后 磁盘io 满了(这是个悲伤的故事).
为什么我的眼中总是饱含热泪, 因为自己挖的坑 – 含着泪也要坚强. 如果能重来, 我会选李白(直接在服务器装)
; 而现在只能打 jar 包上机器测试.
环境:
由于每一次打 jar 包, 如果直接执行 mvn package
就会在前一次基础上再次打包; 所以个人习惯 清除(mvn clean) 之后再打包 (mvn package)
# 清除 D:\Dev\workplace\java\spark_tag> mvn clean [INFO] Scanning for projects... [INFO] ------------------------------------------------------------------------ [INFO] BUILD SUCCESS [INFO] ------------------------------------------------------------------------ [INFO] Total time: 0.228 s [INFO] Finished at: 2021-08-04T21:09:54+08:00 [INFO] ------------------------------------------------------------------------ # 打包 D:\Dev\workplace\java\spark_tag>mvn package [INFO] Scanning for projects... [INFO] --- maven-jar-plugin:3.1.0:jar (default-jar) @ spark_tag --- [INFO] Building jar: D:\Dev\workplace\java\spark_tag\target\spark_tag-1.0-SNAPSHOT.jar [INFO] ------------------------------------------------------------------------ [INFO] BUILD SUCCESS [INFO] ------------------------------------------------------------------------ [INFO] Total time: 1.723 s [INFO] Finished at: 2021-08-04T21:12:35+08:00 [INFO] ------------------------------------------------------------------------
打包完成过后, 你就可以在 上面
Building jar 路径下得到项目 jar 包. rz
上传至 Centos
服务器即可执行
# 语法 java -cp 包地址 程序路径 参数 java -cp spark_tag-1.0-SNAPSHOT.jar com.sparktag.etl.HotWordEtl
执行时, 我曾遇到问题
Linux下执行jar包提示错误: 找不到或无法加载主类
将当前目录加入系统变量 CLASSPATH
,linux 系统
才能找到当前目录下的 Java 类
, vi /etc/profile
,按照将 jar 包的目录 加到 PATH中,保存后退出 source /etc/profile
让文件生效。
$ vi /etc/profile # 配置文件 # /etc/profile #set java environment JAVA_HOME=/usr/lib/jvm/jre-1.6.0-openjdk.x86_64 PATH=$PATH:$JAVA_HOME/bin CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar export JAVA_HOME CLASSPATH PATH # 程序执行目录 export PATH=$PATH:/work/apps/spark-es-tag # 重新加载, 让配置生效 $ source /etc/profile # 验证配置 $ echo $PATH /usr/local/bin:/usr/bin:/usr/lib/jvm/jre-1.6.0-openjdk.x86_64/bin:/work/apps/spark-es-tag:/usr/local/sbin:/usr/sbin:/work/servers/php/bin:/home/work/.local/bin:/home/work/bin:/work/servers/python/python3.7/bin
在原 清除之后再打包
过程中, 加入 mvn compile (编译)
查看编译过程是否出现报错. 确认无误之后再打包上传