文档首页 > > 用户指南> 管理现有集群> 作业管理> 运行Spark作业

运行Spark作业

分享
更新时间: 2020/07/15 GMT+08:00

用户可将自己开发的程序提交到MRS中,执行程序并获取结果。本章节教您在MRS集群页面如何提交一个新的Spark作业。

前提条件

用户已经将运行作业所需的程序包和数据文件上传至OBS系统或HDFS中。

通过界面提交作业

  1. 登录MRS管理控制台。
  2. 选择“集群列表 > 现有集群”,选中一个运行中的集群并单击集群名称,进入集群信息页面。
  3. 若集群开启Kerberos认证时执行该步骤,若集群未开启Kerberos认证,请无需执行该步骤。

    “概览”页签的基本信息区域,单击“IAM用户同步”右侧的“点击同步”进行IAM用户同步,具体介绍请参考IAM用户同步MRS

    • MRS 1.8.7之前版本开启Kerberos认证集群不支持“作业管理”功能,请通过后台功能提交作业。
    • 当IAM用户的用户组的所属策略从MRS ReadOnlyAccess向MRS CommonOperations、MRS FullAccess、MRS Administrator变化时,由于集群节点的SSSD(System Security Services Daemon)缓存刷新需要时间,因此同步完成后,请等待5分钟,等待新修改策略生效之后,再进行提交作业。否则,会出现提交作业失败的情况。
    • 当IAM用户的用户组的所属策略从MRS CommonOperations、MRS FullAccess、MRS Administrator向MRS ReadOnlyAccess变化时,由于集群节点的sssd缓存刷新需要时间,因此同步完成后,请等待5分钟,新修改策略才能生效。

  4. 单击作业管理,进入作业管理页签。
  5. 单击“添加”,进入“添加作业”页面。
  6. 配置作业信息。

    • 若集群为MRS 1.8.7及之后版本,“作业类型”选择“SparkSubmit”,请参考表1配置SparkSubmit作业其他参数信息。
    • 若集群为MRS 1.8.7之前版本,“作业类型”选择“Spark”,请参考表4配置Spark作业信息。
      表1 作业配置信息

      参数

      参数说明

      作业名称

      作业名称,只能由字母、数字、中划线和下划线组成,并且长度为1~64个字符。

      说明:

      建议不同的作业设置不同的名称。

      执行程序路径

      待执行程序包地址,需要满足如下要求:

      • 最多为1023字符,不能包含;|&>,<'$特殊字符,且不可为空或全空格。
      • 执行程序路径可存储于HDFS或者OBS中,不同的文件系统对应的路径存在差异。
        • OBS:以“s3a://”开头。示例:s3a://wordcount/program/xxx.jar
        • OBS:以“obs://”开头。示例:obs://wordcount/program/xxx.jar。(MRS 1.9.2及之后版本版本支持。)
        • HDFS:以“/user”开头。数据导入HDFS请参考导入数据
      • SparkScript和HiveScript需要以“.sql”结尾,MapReduce需要以“.jar”结尾,Flink和SparkSubmit需要以“.jar”“.py”结尾。sql、jar、py不区分大小写。

      运行程序参数

      可选参数,为本次执行的作业配置相关优化参数(例如线程、内存、CPU核数等),用于优化资源使用效率,提升作业的执行性能。

      常用运行程序参数如表2

      执行程序参数

      可选参数,程序执行的关键参数,该参数由用户程序内的函数指定,MRS只负责参数的传入。多个参数间使用空格隔开。

      最多为2047字符,不能包含;|&><'$特殊字符,可为空。

      说明:

      用户输入带有敏感信息(如登录密码)的参数时,可通过在参数名前添加“@”的方式,为该参数值加密,以防止敏感信息被明文形式持久化。在MRS管理控制台查看作业信息时,敏感信息显示为“*”。

      例如:username=admin @password=admin_123

      服务配置参数

      可选参数,用于为本次执行的作业修改服务配置参数。该参数的修改仅适用于本次执行的作业,如需对集群永久生效,请参考配置服务参数页面进行修改。

      如需添加多个参数,请单击右侧增加,如需删除参数,请单击右侧“删除”

      常用服务配置参数如表3

      说明:

      如需运行长时作业如SparkStreaming等,且需要访问OBS, 需要通过“服务配置参数”传入访问OBS的AK/SK。

      命令参考

      用于展示提交作业时提交到后台执行的命令。

      表2 运行程序参数

      参数

      参数说明

      取值样例

      --conf

      添加任务配置项。

      spark.executor.memory=2G

      --driver-memory

      设置driver的运行内存。

      2G

      --num-executors

      设置executor启动数量。

      5

      --executor-cores

      设置executor核数。

      2

      --class

      设置任务的主类。

      org.apache.spark.examples.SparkPi

      --files

      上传文件给任务,可以是自己定义的配置文件或者某些数据文件。来源可以是OBS或者HDFS。

      -

      --jars

      上传任务额外依赖包,用于给任务添加任务的外部依赖包。

      -

      --executor-memory

      设置executor内存。

      2G

      表3 服务配置参数

      参数

      参数说明

      取值样例

      fs.obs.access.key

      访问OBS的密钥ID。

      -

      fs.obs.secret.key

      访问OBS与密钥ID对应的密钥。

      -

      表4 作业配置信息

      参数

      参数说明

      作业名称

      作业名称,只能由字母、数字、中划线和下划线组成,并且长度为1~64个字符。

      说明:

      建议不同的作业设置不同的名称。

      执行程序路径

      待执行程序包地址,需要满足如下要求:

      • 最多为1023字符,不能包含;|&>,<'$特殊字符,且不可为空或全空格。
      • 执行程序路径可存储于HDFS或者OBS中,不同的文件系统对应的路径存在差异。
        • OBS:以“s3a://”开头。示例:s3a://wordcount/program/xxx.jar
        • HDFS:以“/user”开头。数据导入HDFS请参考导入数据
      • Spark Script需要以“.sql”结尾,MR和Spark需要以“.jar”结尾。sql、jar不区分大小写。

      执行程序参数

      程序执行的关键参数,该参数由用户程序内的函数指定,MRS只负责参数的传入。多个参数间使用空格隔开。

      配置方法:包名.类名

      最多为2047字符,不能包含;|&><'$特殊字符,可为空。

      说明:

      用户输入带有敏感信息(如登录密码)的参数时,可通过在参数名前添加“@”的方式,为该参数值加密,以防止敏感信息被明文形式持久化。在MRS管理控制台查看作业信息时,敏感信息显示为“*”。

      例如:username=admin @password=admin_123

      数据输入路径

      数据输入地址。

      数据可存储于HDFS或者OBS中,不同的文件系统对应的路径存在差异。
      • OBS:以“s3a://”开头。
      • HDFS:以“/user”开头。数据导入HDFS请参考导入数据

      最多为1023字符,不能包含;|&>,<'$特殊字符,可为空。

      输出路径

      数据输出地址。

      说明:
      • 配置此参数时,单击“OBS”“HDFS”,并选择文件目录,或者手动输入文件目录,然后单击“确定”
      • 若添加hadoop-mapreduce-examples-x.x.x.jar样例程序或和hadoop-mapreduce-examples-x.x.x.jar类似的程序,请手动输入一个不存在的目录。
      数据可存储于HDFS或者OBS中,不同的文件系统对应的路径存在差异。
      • OBS:以“s3a://”开头。
      • HDFS:以“/user”开头。

      最多为1023字符,不能包含;|&>,<'$特殊字符,可为空。

      日志路径

      作业日志存储地址,该日志信息记录作业运行状态。

      数据可存储于HDFS或者OBS中,不同的文件系统对应的路径存在差异。
      • OBS:以“s3a://”开头。
      • HDFS:以“/user”开头。

      最多为1023字符,不能包含;|&>,<'$特殊字符,可为空。

  7. 确认作业配置信息,单击“确定”,完成作业的新增。

    作业新增完成后,可对作业进行管理。

分享:

    相关文档

    相关产品

文档是否有解决您的问题?

提交成功!

非常感谢您的反馈,我们会继续努力做到更好!

反馈提交失败,请稍后再试!

*必选

请至少选择或填写一项反馈信息

字符长度不能超过200

提交反馈 取消

如您有其它疑问,您也可以通过华为云社区问答频道来与我们联系探讨

智能客服提问云社区提问