在Linux环境中编包并运行Spark程序
操作场景
在程序代码完成开发后,您可以上传至Linux客户端环境中运行应用。使用Scala或Java语言开发的应用程序在Spark客户端的运行步骤是一样的。
- 使用Python开发的Spark应用程序无需打包成jar,只需将样例工程复制到编译机器上即可。
- 用户需保证worker和driver的Python版本一致,否则将报错:"Python in worker has different version %s than that in driver %s."。
- 用户需保证Maven已配置华为镜像站中SDK的Maven镜像仓库,具体可参考配置华为开源镜像仓
操作步骤
- 在IntelliJ IDEA中,打开Maven工具窗口。
在IDEA主页面,选择“Maven”工具窗口。打开图1 打开Maven工具窗口
若项目未通过maven导入,需要执行以下步骤:
右键选择单击样例代码项目中的pom文件,选择
,添加Maven项目图2 添加Maven项目
- 通过Maven生成Jar包。
- 在Maven工具窗口,选择clean生命周期,执行Maven构建过程。
图3 选择clean生命周期,执行Maven构建过程
- 在Maven工具窗口,选择package生命周期,执行Maven构建过程。
图4 选择package生命周期,执行Maven构建过程
在Run:中出现下面提示,则说明打包成功图5 打包成功提示
- 您可以从项目目录下的target文件夹中获取到Jar包。
图6 获取jar包
- 在Maven工具窗口,选择clean生命周期,执行Maven构建过程。
- 将2中生成的Jar包(如CollectFemaleInfo.jar)复制到Spark运行环境下(即Spark客户端),如“/opt/female”。运行Spark应用程序,具体样例程序可参考开发Spark应用。
在Spark任务运行过程中禁止重启HDFS服务或者重启所有DataNode实例,否则可能会导致任务失败,并可能导致JobHistory部分数据丢失。