从零开始使用Hadoop
MapReduce服务(MapReduce Service)提供租户完全可控的企业级大数据集群云服务,轻松运行Hadoop、Spark、HBase、Kafka、Storm等大数据组件 。
本指南提供从零开始使用Hadoop分别通过界面和集群后台节点提交wordcount作业的操作指导。wordcount是最经典的Hadoop作业,它用来统计海量文本的单词数量。
操作步骤
- 购买集群
- 登录华为云控制台。
- 选择“大数据 > MapReduce服务”,进入MapReduce服务管理控制台。
- 单击“购买集群”,进入“购买集群”页面。
- 选择“自定义购买”页签。
- 软件配置
- “区域”请根据需要选择。
- “计费模式”选择“按需计费”。
- “集群名称”填写“mrs_demo”或按命名规范命名。
- 集群类型:选择“分析集群”即可。
- 版本类型:选择普通版。
- 集群版本:选择“MRS 3.1.0”。
图1 购买自定义分析集群
- 组件选择:勾选所有分析集群组件。
- 单击“下一步”。
- 硬件配置
- “可用区”选择“可用区2”。
- “企业项目”选择“default”。
- “虚拟私有云”和“子网”保持默认不修改,也可单击“查看虚拟私有云”重新创建。
- “安全组”默认选择“自动创建”。
- “弹性公网IP”默认选择“暂不绑定”。
图2 硬件配置
- “集群节点”中Master和Core的实例规格保持默认值。节点数量、数据盘类型及大小保持默认值。不添加Task节点。
图3 集群节点配置
- 单击“下一步”。
- 高级配置
- “Kerberos认证”选择关闭。
- “用户名”默认为admin。
- “密码”和“确认密码”请配置Manager管理员用户的密码。
- “登录方式”选择“密码”,并为root用户输入密码及确认密码。
- “主机名前缀”保持默认暂不配置。
- 勾选“高级配置”并选择“委托”为“MRS_ECS_DEFAULT_AGENCY”。
- 单击“下一步”。
- 确认配置
- “配置”:确认软件配置、硬件配置及高级配置信息。
- 勾选通信安全授权。
- 单击“立即购买”,进入任务提交成功页面。
- 单击“返回集群列表”,在“现有集群”列表中可以查看到集群创建的状态。集群创建需要时间,所创集群的初始状态为“启动中”,创建成功后状态更新为“运行中”,请您耐心等待。
- 准备Hadoop样例程序及数据文件
- 准备wordcount程序。
- 以root用户登录Master1节点。
- 执行以下命令切换到客户端安装目录,配置环境变量并创建HDFS目录,例如“/user/example”:
source bigdata_env
hdfs dfs -mkdir /user/example
- 执行以下命令将“/opt/Bigdata/client/HDFS/hadoop/share/hadoop/mapreduce/hadoop-mapreduce-examples-3.1.1-*.jar”Jar上传至“/user/example”目录下。其中,“*”为Jar版本号,请根据实际环境的版本号进行修改:
cd HDFS/hadoop/share/hadoop/mapreduce
hdfs dfs -put hadoop-mapreduce-examples-3.1.1-*.jar /user/example
- 准备数据文件。
数据文件无格式要求,准备2个txt文件即可。例如文件名为“wordcount1.txt”和“wordcount2.txt”,内容如图4所示。
- 准备wordcount程序。
- 上传数据至OBS
- 登录OBS控制台,单击“并行文件系统 > 创建并行文件系统”,创建一个名称为“mrs-word01”的文件系统。
- 单击“mrs-word01”文件系统名称,然后选择左侧导航栏“文件”,在“文件”页签下单击“新建文件夹”,分别新建program、input文件夹。
- 进入input文件夹,上传6中准备的数据文件“wordcount1.txt”和“wordcount2.txt” 。
- 在MRS控制台左侧导航栏选择“集群列表 > 现有集群”,单击名称为“mrs_demo”的集群。
- 进入集群列表界面,单击集群名称,单击“文件管理”页签,在“文件列表”页面单击导出数据,在“从HDFS导出数据至OBS”页面配置如下参数,并单击“确定”:
- HDFS路径:选择6.a准备的Jar包所在路径,即“/user/example/hadoop-mapreduce-examples-3.1.1-*.jar /”。
- OBS路径:选择新建的“program”文件夹所在路径,即“obs://mrs-word01/program”,并勾选确认脚本安全按钮,单击“确定”。
- 若想通过界面提交作业,请执行8。若想通过集群后台节点提交作业,请执行9。
- 通过界面提交作业
- 在集群信息页面选择“作业管理”页签,单击“添加”,进入添加作业页面。若想通过集群后台节点提交作业,请参考9执行。
- 在“添加作业”界面配置以下参数:
- “作业类型”选择“MapReduce”。
- “作业名称”填写“wordcount”。
- “程序执行路径”单击OBS选择7中上传的Hadoop样例程序。
- “执行程序参数”配置为“wordcount obs://mrs-word01/input/ obs://mrs-word01/output/”。
- “服务配置参数”不配置。
- 单击“确定”,提交作业。作业提交成功后默认为“已接受”状态,不需要用户手动执行作业。
- 在“作业管理”页面,查看作业执行状态及日志,然后进入10查看作业执行结果。
- 通过集群后台节点提交作业
- 登录MRS控制台,单击名称为“mrs_demo”的集群,进入集群基本信息页面。
- 在“节点管理”页签中单击Master1节点名称,进入弹性云服务器管理控制台。
- 单击页面右上角的“远程登录”。
- 根据界面提示,输入Master节点的用户名和密码,用户名、密码分别为root和创建集群时设置的密码。
- 执行以下命令配置环境变量:
source bigdata_env
- 执行如下命令提交wordcount作业,从OBS读取数据并将执行结果输出至OBS:
hadoop jar HDFS/hadoop/share/hadoop/mapreduce/hadoop-mapreduce-examples-3.1.1-*.jar wordcount "obs://mrs-word01/input/*" "obs://mrs-word01/output/"
“obs://mrs-word01/output/”为OBS上存放作业输出文件地址,请设置为一个不存在的目录。
- 查看作业执行结果
- 登录OBS控制台,单击“mrs-word01”并行文件系统名称。
- 选择左侧导航栏“文件”,进入“mrs-word01”中提交作业时设置的输出目录中,查看作业输出文件,需要下载到本地以文本方式打开进行查看。