文档首页 > > 用户指南> 操作指南> 作业管理> 创建Spark自定义作业

创建Spark自定义作业

分享
更新时间: 2019/12/03 GMT+08:00

本章节介绍如何新建Spark自定义作业。用户可以基于Spark的API进行二次开发,构建自己的应用Jar包并提交到CS的集群运行,CS完全兼容开源社区接口。此功能需要用户自己编写应用代码并构建Jar包,适合对Spark二次开发有一定了解,并对流计算复杂度要求较高的用户。

前提条件

  • 用户通过Spark自定义作业进行实时流计算时,需要将二次开发的应用代码构建为Jar包,存放在本地或者上传到已经创建的OBS桶中。
  • 另外需要注意的是,由于CS服务端已经内置了Spark的依赖包,并且基于开源社区版本做了安全加固。用户需要在构建应用Jar包时,将Spark的相关依赖排除,在Maven或者Sbt构建工具中可以通过将scope设为provided来实现。

操作步骤

  1. 新建Spark自定义作业的入口有2个,分别是在“总览”页面和“作业管理”页面。

    • “总览”页面新建作业。
      1. 在CS管理控制台的左侧导航栏中,单击“总览”,进入“总览”页面。
        图1 “总览”页面新建作业
      2. 单击“新建作业”,弹出“新建作业”页面。
    • “作业管理”页面新建作业。
      1. 在CS管理控制台的左侧导航栏中,单击作业管理,进入“作业管理”页面。
        图2 “作业管理”页面新建作业
      2. 单击“新建作业”,弹出“新建作业”页面。

  2. 配置作业信息。

    图3 新建Spark自定义作业
    表1 作业配置信息

    参数

    参数说明

    类型

    选择“Spark自定义作业”。

    名称

    作业名称,只能由英文、中文、数字、中划线和下划线组成,并且长度为1~57字节。

    说明:

    作业名称必须是唯一的。

    描述

    作业的相关描述。且长度为0~512字节。

  3. “企业项目”的下拉列表中,选择用户已经在企业管理中创建的企业项目。

    关于如何在企业管理中创建企业项目,请参见《企业管理用户指南》“创建企业项目”章节。

    系统还内置了一个缺省的企业项目“default”,如果用户没有为作业选择企业项目,将使用缺省项目“default”

    在作业创建过程中,如果作业与企业项目绑定成功,则作业创建成功,如果绑定失败,系统会发送告警,作业就会创建失败。

    当删除作业时,与企业项目的关联关系也会被自动删除。

  4. (可选)如果要为作业添加标签,请填写以下参数。标签不是必填参数,如果不需要,可以跳过这一步。

    表2 标签配置参数

    参数

    参数说明

    标签键

    您可以选择:

    • 在输入框的下拉列表中选择预定义标签键。
      说明:

      如果添加预定义标签,用户需要预先在标签管理服务中创建好预定义标签,然后在“标签键”的下拉框中进行选择。用户可以通过单击“查看预定义标签”进入标签管理服务的“预定义标签”页面,然后单击“创建标签”来创建新的预定义标签,具体请参见《标签管理服务用户指南》中的“创建预定义标签”章节。

    • 在输入框中输入标签键名称。
      说明:

      标签键的最大长度为36个字符 ,不能包含“=”,“*”,“,”,“<”,“>”,“\”,“|”,“/”,且首尾字符不能为空格。

    标签值

    您可以选择:

    • 在输入框的下拉列表中选择预定义标签值。
    • 在输入框中输入标签值。
      说明:

      标签值的最大长度为43个字符,不能包含“=”,“*”,“,”,“<”,“>”,“\”,“|”,“/”,且首尾字符不能为空格。

    • 最多支持10个标签。
    • 一个“键”只能添加一个“值”。
    • 每个资源中的键名不能重复。

  5. 单击“确,进入编辑页面。
  6. 上传Jar包。

    图4 上传Jar包
    表3 参数说明

    名称

    描述

    上传方式

    有如下方式上传Jar文件:

    • 本地上传,是用户将本地的Jar文件上传至CS服务器。
      说明:

      直接上传本地Jar包大小不能大于8M,如需上传超过8M的Jar包,可先将Jar包上传到OBS再从OBS引用。

    • OBS上传,是用户采用OBS作为数据源,将文件上传至OBS桶中,CS服务再从OBS服务中获取数据。
      说明:

      用户需先通过OBS管理控制台创建一个桶并将自定义的Jar包上传到该桶中。

    当前Jar文件

    显示当前上传的Jar文件名称。

    Main Class

    指定加载的Jar包入口类名,如KafkaMessageStreaming。默认根据Jar包文件的Manifest文件指定,如手动指定需要输入类名并确定类参数列表(参数间用空格分隔)。

    说明:

    当入口类属于某个包时,需携带包路径,如packagePath.KafkaMessageStreaming。

    参数

    指定入口类的参数列表,参数之间使用空格分隔。

    配置文件

    • 配置文件支持spark-defaults.conf和自定义配置文件,自定义配置文件将在提交时通过--files传递给driver/executor使用。
    • 如果存在core-site.xml/hdfs-site.xml,请将其重命名以防与CS集群内对应文件冲突。
    • 多个配置文件请打包成zip上传。

    有两种方式上传配置文件:

    • 本地上传,是用户将本地文件上传至CS服务器。
    • OBS上传,是用户采用OBS作为数据源,将文件上传至OBS桶中,CS服务再从OBS服务中获取数据。

  7. 单击左边“配置参数”,配置作业参数。

    图5 设置Spark自定义作业基本配置
    表4 参数说明

    名称

    描述

    SPUs

    流处理单元(Stream Processing Units),一个SPU为1核4G的资源量。

    显示Spark自定义作业的配置的总SPU数,即Driver节点SPU数和所有Executor节点的SPU数总和。

    Driver SPUs

    设置Driver节点使用的SPU数量,支持设置1~4个SPU数,默认值为1个SPU。

    Executor个数

    设置Executor节点的数量,支持设置1-100,默认值为1。

    Executor SPUs

    设置每个Executor节点使用的SPU数量,支持设置1~4个SPU数,默认值为1个SPU。

    保存作业日志

    设置是否开启保存作业日志功能。

    如果开启该功能,必须要选择OBS桶,且OBS桶必须授权才能使用。如果选择的OBS桶是未授权状态,需要单击“OBS授权”

    说明:

    OBS服务的相关操作,请参见《对象存储服务控制台指南》中的入门章节。

    作业异常告警

    设置是否将作业异常告警信息,如作业出现运行异常或者欠费情况,以SMN的方式通知用户。

    主题名称

    当勾选“开启作业异常告警”时,该参数有效。

    选择一个自定义的SMN主题。如何自定义SMN主题,请参见《消息通知服务用户指南》“创建主题”章节。

    异常自动重启

    设置是否启动异常自动重启功能,当作业异常时将自动重启并恢复作业。

  8. 单击左边“选择运行集群”,选择作业所属集群。

    图6 选择作业所属集群
    • 自定义作业只能运行在预先创建的独享集群上,如还未创建CS独享集群,请参见按需计费方式新建集群
    • “作业所属集群”下拉框中无可用的独享集群,请先创建一个独享集群并将该集群绑定到当前用户,请使用租户主账号在“集群管理 > 用户配额管理”页面中将集群绑定到当前用户并分配SPU配额。具体操作步骤,请参见修改子用户

  9. 单击右上角“提交”,进入“作业配置清单”页面,单击“确认”,将作业提交并启动。

    提交作业后,系统将自动跳转到作业管理页面,新创建的作业将显示在作业列表中,在状态列中可以查看作业状态。作业提交成功后,状态将由提交中变为运行中

    如果作业状态为提交失败运行异常,表示作业提交或运行失败。用户可以在作业列表中的状态列中,将鼠标移动到状态图标上查看错误信息,单击可以复制错误信息。根据错误信息解决故障后,重新提交。

分享:

    相关文档

    相关产品

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

提交成功!

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

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

*必选

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

字符长度不能超过200

提交反馈 取消

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

跳转到云社区