先上重点
以下是scala打包插件,pom文件中必须有
<plugins>
<plugin>
<groupId>net.alchim31.maven</groupId>
<artifactId>scala-maven-plugin</artifactId>
<version>4.0.1</version>
<executions>
<execution>
<id>scala-compile-first</id>
<phase>process-resources</phase>
<goals>
<goal>add-source</goal>
<goal>compile</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<!-- maven 打包插件 打原始jar包 第三方依赖打入jar包中-->
<artifactId>maven-assembly-plugin</artifactId>
<configuration>
<archive>
<manifest>
<!--这里要替换成jar包main方法所在类 -->
<mainClass>com.hive.ReadHive</mainClass>
</manifest>
<manifestEntries>
<Class-Path>.</Class-Path>
</manifestEntries>
</archive>
<descriptorRefs>
<descriptorRef>jar-with-dependencies</descriptorRef>
</descriptorRefs>
</configuration>
<executions>
<execution>
<id>make-assembly</id> <!-- this is used for inheritance merges -->
<phase>package</phase> <!-- 指定在打包节点执行jar包合并操作 -->
<goals>
<goal>single</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
首先将打包好的jar包上传至虚拟机
我的jar包统一放在/usr/apps/jar
目录中
接下来进入spark的目录
cd /usr/apps/spark-2.1.1/
以下代码为提交jar包到spark运行的命令
./bin/spark-submit \
--class com.hive.ReadHive \
--master spark://master:7077 \
/usr/apps/jar/test1.jar \
注意:严格按照此格式编写,如若格式不对,容易出现异常。
运行结果:
另外可以进入Spark的WebUI界面查看任务执行情况,(注意关闭虚拟机防火墙)
浏览器输入WebUI地址:ip:8080
其他配置参数:
(以下配置项,可加可不加,自行决定)
--deploy-mode cluster \
--driver-memory 4g \
--executor-memory 2g \
--executor-cores 1 \
--queue default \