更新时间:2024-08-03 GMT+08:00
在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部分数据丢失。
查看调测结果
Spark应用程序运行完成后,可通过如下方式查看应用程序的运行情况。
- 通过运行结果数据查看应用程序运行情况。
- 登录Spark WebUI查看应用程序运行情况。
- Spark UI页面,用于展示正在执行的应用的运行情况。
页面主要包括了Jobs、Stages、Storage、Environment和Executors五个部分。Streaming应用会多一个Streaming标签页。
页面入口:在YARN的Web UI界面,查找到对应的Spark应用程序。单击应用信息的最后一列“ApplicationMaster”,即可进入SparkUI页面。
- History Server页面,用于展示已经完成的和未完成的Spark应用的运行情况。
页面包括了应用ID、应用名称、开始时间、结束时间、执行时间、所属用户等信息。单击应用ID,页面将跳转到该应用的SparkUI页面。
- Spark UI页面,用于展示正在执行的应用的运行情况。
- 通过Spark日志获取应用程序运行情况。
您可以查看Spark日志了解应用运行情况,并根据日志信息调整应用程序。相关日志信息可参考Spark2x日志介绍。
父主题: 调测Spark应用