当把Spark项目部署到linux系统中时,如果按照像导maven项目那样导胖瘦包的话,会报错,找不到scala的包,必须导入scala的包才行,在linux系统下的的操作命令也不一样,话不多说,先在pom.xml中导包,把< bulid>中的包全部替换掉:
<build>
<plugins>
<plugin>
<groupId>org.scala-tools</groupId>
<artifactId>maven-scala-plugin</artifactId>
<version>2.15.2</version>
<executions>
<execution>
<goals>
<goal>compile</goal>
<goal>testCompile</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.6.0</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.19</version>
<configuration>
<skip>true</skip>
</configuration>
</plugin>
</plugins>
</build>
注意:
项目的路径一定不要出现中文,不然会报错,而且有可能出现中文乱码的情况;
等包下载完成之后,点击右上角的maven projects开始打包,操作步骤如下图所示:
先clean所有的包,在重新打包,打完之后在项目中的target目录下查看是否有出现.jar的包,有的话拖入到linux系统下,我习惯放在opt目录下,然后开始在linux系统下运行:
先启动spark;如果还没有安装的朋友,
我上篇文章已经详细介绍了安装步骤可以自己去看看:
Spark简介及详细安装教程
在sbin目录下启动spark:
./start-all.sh
进入spark操作界面在bin目录下启动:
./spark-shell
成功进入操作界面后就可以运行项目了。
./spark-submit \
--class com.demo.sparktest.test \ //项目的主入口全路径
--master spark://192.168.5.150:7070 /opt/myspark-1.0-SNAPSHOT.jar
// 主机Ip和访问的端口 ,以及jar包名称
这时就可以顺利的运行了!
总结
当在linux系统下运行时,有可能会报错,就是因为导的pom包不对导致的,也有可能找不到读取的文件路径,所以一定要看清楚你的文件放在什么地方,最好路径也不要有中文字样!