用户可将自己开发的程序提交到翼MR中,执行程序并获取结果。
本章节以MapReduce作业为例指导您在翼MR集群页面如何提交一个新的作业。MapReduce作业用于提交jar程序快速并行处理大量数据,是一种分布式数据处理模式和执行环境。
若在集群详情页面不支持“作业管理”和“文件管理”功能,请通过后台功能来提交作业。
用户创建作业前需要将本地数据上传至OBS系统用于计算分析。当然翼MR也支持将OBS中的数据导入至HDFS中,并使用HDFS中的数据进行计算分析。数据完成处理和分析后,您可以将数据存储在HDFS中,也可以将集群中的数据导出至OBS系统。需要注意,HDFS和OBS也支持存储压缩格式的数据,目前支持存储bz2、gz压缩格式的数据。
通过界面提交作业
1.登录翼MR管理控制台。
2.选择“集群列表 > 现有集群”,选中一个运行中的集群并单击集群名称,进入集群信息页面。
3.若集群开启Kerberos认证时执行该步骤,若集群未开启Kerberos认证,请无需执行该步骤。
在“概览”页签的基本信息区域,单击“IAM用户同步”右侧的“单击同步”进行IAM用户同步。
说明
当IAM用户的用户组的所属策略从翼MR ReadOnlyAccess向翼MR CommonOperations、翼MR FullAccess、翼MR Administrator变化时,由于集群节点的SSSD(System Security Services Daemon)缓存刷新需要时间,因此同步完成后,请等待5分钟,等待新修改策略生效之后,再进行提交作业。否则,会出现提交作业失败的情况 。
当IAM用户的用户组的所属策略从翼MR CommonOperations、翼MR FullAccess、翼MR Administrator向翼MR ReadOnlyAccess变化时,由于集群节点的SSSD缓存刷新需要时间,因此同步完成后,请等待5分钟,新修改策略才能生效 。
4.单击“作业管理”,进入“作业管理”页签。
5.单击“添加”,进入“添加作业”页面。
6.“作业类型”选择“MapReduce”,并配置其他作业信息。
作业配置信息
参数 | 参数说明 |
---|---|
作业名称 | 作业名称,只能由字母、数字、中划线和下划线组成,并且长度为1~64个字符。 说明 建议不同的作业设置不同的名称。 |
执行程序路径 | 待执行程序包地址,需要满足如下要求: 最多为1023字符,不能包含; |
执行程序参数 | 可选参数,程序执行的关键参数。多个参数间使用空格隔开。 配置方法:程序类名数据输入路径数据输出路径 程序类名:由用户程序内的函数指定,翼MR只负责参数的传入。 数据输入路径:通过单击“HDFS”或者“OBS”选择或者直接手动输入正确路径。 数据输出路径:输出路径请手动输入一个不存在的目录。 最多为2047字符,不能包含; |
服务配置参数 | 可选参数,用于为本次执行的作业修改服务配置参数。 该参数的修改仅适用于本次执行的作业,如需对集群永久生效,请参考配置服务参数页面进行修改。 如需添加多个参数,请单击右侧增加,如需删除参数,请单击右侧“删除”。 常用服务配置参数请见下表。 |
命令参考 | 用于展示提交作业时提交到后台执行的命令。 |
服务配置参数
参数 | 参数说明 | 取值样例 |
---|---|---|
fs.obs.access.key | 访问OBS的密钥ID。 | - |
fs.obs.secret.key | 访问OBS与密钥ID对应的密钥。 | - |
7.确认作业配置信息,单击“确定”,完成作业的新增。
作业新增完成后,可对作业进行管理。
通过后台提交作业
翼MR 3.x及之后版本客户端默认安装路径为“/opt/Bigdata/client”,翼MR 3.x之前版本为“/opt/client”。具体以实际为准。
1.登录翼MR管理控制台。
2.选择“集群列表 > 现有集群”,选中一个运行中的集群并单击集群名称,进入集群信息页面。
3.在“节点管理”页签中单击某一Master节点名称,进入弹性云服务器管理控制台。
4.单击页面右上角的“远程登录”。
5.根据界面提示,输入Master节点的用户名和密码,用户名、密码分别为root和创建集群时设置的密码。
6.执行如下命令初始化环境变量。
source/opt/Bigdata/client/bigdata_env
7.如果当前集群已开启Kerberos认证,执行以下命令认证当前用户。如果当前集群未开启Kerberos认证,则无需执行该步骤。
kinit 翼MR集群用户
例如, kinit admin
8.执行如下命令拷贝OBS文件系统中的程序到集群的Master节点。
hadoop fs -Dfs.obs.access.key=AK -Dfs.obs.secret.key=SK -copyToLocal source_path.jar
target_path.jar
例如:
hadoop fs -Dfs.obs.access.key=XXXX -Dfs.obs.secret.key=XXXX -copyToLocal "obs://翼MR-word/program/hadoop-mapreduce-examples-XXX.jar"
"/home/omm/hadoop-mapreduce-examples-XXX.jar"
AK/SK可登录OBS控制台,请在集群控制台页面右上角的用户名下拉框中选择“我的凭证 > 访问密钥”页面获取。
9.执行如下命令提交wordcount作业,如需从OBS读取或向OBS输出数据,需要增加AK/SK参数。
source /opt/Bigdata/client/bigdata_env;hadoop jar execute_jar wordcount input_path
output_path
例如:
source /opt/Bigdata/client/bigdata_env;hadoop jar
/home/omm/hadoop-mapreduce-examples-XXX.jar wordcount -Dfs.obs.access.key=XXXX-Dfs.obs.secret.key=XXXX "obs://翼MR-word/input/*"
"obs://翼MR-word/output/"
input_path为OBS上存放作业输入文件的路径。output_path为OBS上存放作业输出文件地址,请设置为一个不存在的目录。