快速使用Hadoop
本章节提供从零开始使用Hadoop提交wordcount作业的操作指导,wordcount是最经典的Hadoop作业,它用来统计海量文本的单词数量。
操作步骤
- 准备wordcount程序。
开源的Hadoop的样例程序包含多个例子,其中包含wordcount。可以从https://dist.apache.org/repos/dist/release/hadoop/common/中下载Hadoop的样例程序。
例如,选择hadoop-x.x.x版本,下载“hadoop-x.x.x.tar.gz”,解压后在“hadoop-x.x.x\share\hadoop\mapreduce”路径下获取“hadoop-mapreduce-examples-x.x.x.jar”,即为Hadoop的样例程序。“hadoop-mapreduce-examples-x.x.x.jar”样例程序包含了wordcount程序。
hadoop-x.x.x表示Hadoop的版本号,具体以实际为准。
- 准备数据文件。
数据文件无格式要求,准备一个或多个txt文件即可,如下内容为txt文件样例:
qwsdfhoedfrffrofhuncckgktpmhutopmma jjpsffjfjorgjgtyiuyjmhombmbogohoyhm jhheyeombdhuaqqiquyebchdhmamdhdemmj doeyhjwedcrfvtgbmojiyhhqssddddddfkf kjhhjkehdeiyrudjhfhfhffooqweopuyyyy
- 上传数据至OBS。
- 登录OBS控制台。
- 选择“并行文件系统 > 创建并行文件系统”,创建一个名称为wordcount01的文件系统。
wordcount01仅为示例,文件系统名称必须全局唯一,否则会创建并行文件系统失败。
- 在OBS文件系统列表中单击文件系统名称wordcount01,选择“文件 > 新建文件夹”,分别创建program、input文件夹,创建完成后如图1所示。
- program:存放用户程序
- input:存放用户数据文件
- 进入program文件夹,选择“上传文件 > 添加文件”,从本地选择1中下载的程序包,然后单击“上传”,上传完成后如图2所示。
- 进入input文件夹,将2中准备的数据文件上传到input文件夹,上传完成后如图3所示。
- 登录MRS控制台,在左侧导航栏选择“现有集群”,单击集群名称,该集群需要包含Hadoop组件,且已为MRS集群绑定具有OBS文件系统操作权限的IAM权限委托。
查看或绑定委托的操作如下:
- 登录MRS集群的“概览”页面,查看“委托”参数是否有值,且绑定的委托具有OBS文件系统操作权限。
- 是,集群已绑定委托。
- 否,执行4.b。
- 单击“管理委托”,为集群绑定具有OBS文件系统操作权限的委托。
您可以直接选择系统默认的“MRS_ECS_DEFAULT_AGENCY”,也可以单击“新建委托”自行创建其他具有OBS文件系统操作权限的委托。
- 登录MRS集群的“概览”页面,查看“委托”参数是否有值,且绑定的委托具有OBS文件系统操作权限。
- 提交wordcount作业。
在MRS控制台选择“添加”,进入“添加作业”页面,具体请参见运行MapReduce作业。
页签,单击图4 wordcount作业
- 作业类型选择“MapReduce”。
- 作业名称为“mr_01”。
- 执行程序路径配置为OBS上存放程序的地址。例如:obs://wordcount01/program/hadoop-mapreduce-examples-x.x.x.jar。
- 执行程序参数中填写的参数为:wordcount obs://wordcount01/input/ obs://wordcount01/output/。
- 参数“obs://wordcount01/input/”中的OBS文件系统名需要替换为实际环境创建的文件系统名。
- 参数“obs://wordcount01/output/”中的OBS文件系统名需要替换为实际环境创建的文件系统名,目录output为一个不存在的目录,具体以实际为准。
- 服务配置参数无需填写。
只有集群处于“运行中”状态时才能提交作业。
作业提交成功后默认为“已接受”状态,不需要用户手动执行作业。
- 查看作业执行结果。