从零开始使用Hadoop
MapReduce服务(MapReduce Service)提供租户完全可控的企业级大数据集群云服务,轻松运行Hadoop、Spark、HBase、Kafka、Storm等大数据组件 。
本指南提供从零开始使用Hadoop分别通过界面和集群后台节点提交wordcount作业的操作指导。wordcount是最经典的Hadoop作业,它用来统计海量文本的单词数量。
购买集群 -> 准备Hadoop样例程序及数据文件 -> 上传数据至OBS -> 创建作业 -> 查看作业执行结果
Step1 购买集群
步骤
① 登录华为云控制台。
② 选择“EI企业智能 > MapReduce服务”,进入MapReduce服务管理控制台。
③ 单击“购买集群”,进入“购买集群”页面。
④ 选择“自定义购买”页签。
1
MapReduce服务

2
购买MRS集群


单击图片可查看原图


Step2 软件配置
步骤
① “区域”请根据需要选择。
② “集群名称”填写“mrs_demo”或按命名规范命名。
③ “集群版本”选择MRS 3.0.5。
④ “集群类型”选择“分析集群”。
⑤ 勾选所有分析集群组件。
⑥ 单击“下一步”。
1
软件配置-01

2
软件配置-02

单击图片可查看原图


Step3 硬件配置
步骤
① “计费模式”选择按需计费。
② “可用区”选择“可用区2”。
③ “虚拟私有云”和“子网”保持默认不修改,也可单击“查看虚拟私有云”重新创建。
④ “安全组”默认选择“自动创建”。
⑤ “弹性公网IP”默认选择“暂不绑定”。
⑥ “企业项目”选择default。
⑦ “集群节点”中Master和Core的实例规格保持默认值。实例数量、数据盘类型及大小保持默认值。不添加Task节点。
⑧ 单击“下一步”。
1
硬件配置-01

2
硬件配置-02


单击图片可查看原图


Step4 高级配置
步骤
① “标签”保持默认暂不配置。
② “委托”、“告警”、“规则名称”、“主题名称”保持默认。
③ “Kerberos认证”选择关闭。
④ “用户名”默认为admin。
⑤ “密码”和“确认密码”请配置Manager管理员用户的密码。
⑥ “登录方式”选择“密码”,并为root用户输入密码及确认密码。
⑦ “通信安全授权”勾选“确认授权”。
⑧ 单击“立即购买”,进入任务提交成功页面。
⑨ 单击“返回集群列表”,在“现有集群”列表中可以查看到集群创建的状态。
集群创建需要时间,所创集群的初始状态为“启动中”,创建成功后状态更新为“运行中”,请您耐心等待。
1
高级配置-01
2
高级配置-02
3
高级配置-03

单击图片可查看原图


Step5 准备Hadoop样例程序及数据文件
步骤
① 准备wordcount程序。
可以从这里下载Hadoop样例程序(包括wordcount)。此处以hadoop-3.1.4.tar.gz为例,程序版本请以链接提供的实际版本为准。
例如选择hadoop-3.1.4.tar.gz,解压后在“hadoop-3.1.4\share\hadoop\mapreduce”路径下获取“hadoop-mapreduce-examples-3.1.4.jar”,即为Hadoop的样例程序。
② 准备数据文件。
数据文件无格式要求,准备2个txt文件即可。
示例为右图的wordcount1.txt和wordcount2.txt
1
准备样例程序
2
准备数据文件


单击图片可查看原图


Step6 上传数据至OBS
步骤
① 登录OBS控制台,单击“并行文件系统 > 创建并行文件系统”,创建一个名称为mrs-word01的文件系统。
② 单击mrs-word01文件系统名称,然后选择左侧导航栏“文件”,在“文件”页签下单击“新建文件夹”,分别新建program、input文件夹。
③ 进入program文件夹,上传Step5中下载的hadoop样例程序。
④ 进入input文件夹,上传Step5中准备的数据文件wordcount1.txt和wordcount2.txt 。
⑤若想通过界面提交作业,请执行Step7。
若想通过集群后台节点提交作业,请执行Step8。
1
创建OBS文件系统

2
上传数据


单击图片可查看原图


Step7 通过界面提交作业
步骤
① 在MRS控制台左侧导航栏选择“集群列表 > 现有集群”,单击名称为“mrs_demo”的集群。
② 在集群信息页面选择“作业管理”页签,单击“添加”,进入添加作业页面。若想通过集群后台节点提交作业,请参考Step8执行。
③ “作业类型”选择“MapReduce”。
④ “作业名称”填写“wordcount”
⑤ “程序执行路径”单击OBS选择Step6中上传的hadoop样例程序。
⑥ “执行程序参数”配置为“wordcount obs://mrs-word01/input/ obs://mrs-word01/output/”。output为输出路径,请手动输入一个不存在的目录。
⑦ “服务配置参数”不配置。
⑧ 单击“确定”,提交作业。
作业提交成功后默认为“已接受”状态,不需要用户手动执行作业。
⑨ 进入“作业管理”页面,查看作业执行状态及日志,然后进入Step9 查看作业执行结果。
1
提交作业

单击图片可查看原图


Step8 通过集群后台节点提交作业
步骤
① 登录MRS控制台,单击名称为“mrs_demo”的集群,进入集群基本信息页面。
② 在“节点管理”页签中单击某一Master节点名称,进入弹性云服务器管理控制台。
③ 单击页面右上角的“远程登录”。
④ 根据界面提示,输入Master节点的用户名和密码,用户名、密码分别为root和创建集群时设置的密码。
⑤ 执行source /opt/Bigdata/client/bigdata_env配置环境变量。
⑥ 如果已开启Kerberos认证,请执行kinit MRS集群用户命令认证集群当前用户,例如kinit admin。未开启Kerberos认证则跳过该步骤。
⑦ 执行如下命令拷贝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://mrs-word01/program/hadoop-mapreduce-examples-XXX.jar" "/home/omm/hadoop-mapreduce-examples-XXX.jar"
其中:AK/SK可登录“OBS控制台”,在集群控制台页面右上角的用户名下拉框中选择“我的凭证 > 访问密钥”页面获取,或单击“新增访问秘钥”创建。
⑧ 执行如下命令提交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://mrs-word01/input/*" "obs://mrs-word01/output/"
input_path为OBS上存放作业输入文件的路径。output_path为OBS上存放作业输出文件地址,请设置为一个不存在的目录。
1
登录Master节点

单击图片可查看原图


Step9 查看作业执行结果
步骤
① 登录OBS控制台,单击mrs-word01桶名称。
② 选择左侧导航栏“对象”,进入mrs-word01桶中提交作业时设置的输出目录中,查看作业输出文件,需要下载到本地以文本方式打开进行查看。
1
作业执行结果


单击图片可查看原图


