运行HadoopStream作业
用户可将自己开发的程序提交到MRS中,执行程序并获取结果,本章节指导您如何在MRS集群中提交一个HadoopStream作业。
前提条件
- 用户已经将作业所需的程序包和数据文件上传至OBS或HDFS文件系统中。
- 如果作业程序需要读取以及分析OBS文件系统中的数据,需要先配置MRS集群的存算分离,请参考配置MRS集群存算分离。
提交HadoopStream作业
- 登录MRS管理控制台。
- 选择“现有集群”,选中一个运行中的集群并单击集群名称,进入集群信息页面。
- 在“概览”页签的基本信息区域,单击“IAM用户同步”右侧的“同步”进行IAM用户同步。
集群开启Kerberos认证时需执行该步骤,若集群未开启Kerberos认证,无需执行本步骤。
- IAM用户同步完成后,请等待5分钟,再进行提交作业,更多IAM用户同步说明请参考IAM用户同步MRS集群说明。
- 当IAM用户的用户组的所属策略从MRS ReadOnlyAccess向MRS CommonOperations、MRS FullAccess、MRS Administrator变化时,或者反之从MRS CommonOperations、MRS FullAccess、MRS Administrator向MRS ReadOnlyAccess变化时,由于集群节点的SSSD(System Security Services Daemon)缓存刷新需要时间,因此用户同步完成后,请等待5分钟,待新策略生效之后,再进行提交作业,否则会出现提交作业失败的情况。
- 当前IAM用户名中存在空格时(例如admin 01),不支持添加作业。
- 单击“作业管理”,在作业列表界面单击“添加”。
- “作业类型”选择“HadoopStreaming”,参考表1配置作业信息。
表1 作业配置信息 参数
描述
示例
作业名称
作业名称,只能由字母、数字、中划线和下划线组成,并且长度为1~64个字符。
hadoop_job
运行程序参数
可选参数,为本次执行的作业配置相关优化参数(例如线程、内存、CPU核数等),用于优化资源使用效率,提升作业的执行性能。
常用运行程序参数如表2。
-
执行程序参数
可选参数,程序执行的关键参数,该参数由用户程序内的函数指定,MRS只负责参数的传入。
多个参数间使用空格隔开,最多为150000字符,不能包含;|&><'$特殊字符,可为空。
注意:用户输入带有敏感信息(如登录密码)的参数时,可通过在参数名前添加“@”的方式为该参数值加密,以防止敏感信息被明文形式持久化。
在MRS管理控制台查看作业信息时,敏感信息会显示为“*”。
例如:username=testuser @password=用户密码
-
服务配置参数
可选参数,用于为本次执行的作业修改服务配置参数。
该参数的修改仅适用于本次执行的作业,如需对集群永久生效,请参考修改MRS集群组件配置参数进行集群组件配置参数的修改。
如需添加多个参数,请单击右侧增加。
例如作业需要通过AK/SK方式访问OBS,增加以下服务配置参数:
- fs.obs.access.key:访问OBS的密钥ID。
- fs.obs.secret.key:访问OBS与密钥ID对应的密钥。
-
命令参考
用于展示提交作业时提交到后台执行的命令。
-
表2 运行程序参数 参数
参数说明
取值样例
-ytm
设置每个TaskManager容器的内存(单位可选, 默认单位:MB)。
1024
-yjm
设置JobManager容器内存(单位可选,默认单位:MB)。
1024
-yn
设置分配给应用程序的Yarn容器的数量,该值与TaskManager数量相同。
MRS 3.x及之后版本,运行程序参数不支持“-yn”。
2
-ys
设置TaskManager的核数。
2
-ynm
自定义Yarn上应用程序名称。
test
-c
设置程序入口点的类(如“main”或“getPlan()”方法)。该参数仅在JAR文件未指定其清单的类时需要。
com.bigdata.mrs.test
- 确认作业配置信息,单击“确定”,完成作业的新增。
作业新增完成后,可对作业进行管理。