
# 快速创建和使用Hadoop离线数据分析集群
#### 操作场景
本入门提供从零开始创建Hadoop离线数据分析集群并通过集群客户端提交一个wordcount作业的操作指导。wordcount是最经典的Hadoop作业，用于统计海量文本的单词数量。
Hadoop集群完全使用开源Hadoop生态，采用Yarn管理集群资源，提供Hive、Spark离线大规模分布式数据存储和计算及进行海量数据分析与查询的能力。
#### 操作流程
开始使用如下样例前，请务必按[准备工作]指导完成必要操作。
1. [创建MRS集群]：创建一个MRS 3.1.5版本的"Hadoop分析集群"。
2. [安装集群客户端]：下载并安装MRS集群客户端。
3. [准备应用程序及数据]：准备MRS集群客户端内wordcount样例程序运行所需的数据文件。
4. [提交作业并查看结果]：在集群客户端提交wordcount数据分析作业并查看执行结果。
5. [释放资源]：如果您在完成实践后不需要继续使用MRS集群，请及时清理资源以免产生额外扣费。
 
 #### 准备工作
- 注册账号并实名认证。 在创建MRS集群之前，请先[注册华为账号并开通华为云](https://support.huaweicloud.com/usermanual-account/account_id_001.html)，进行[实名认证](https://support.huaweicloud.com/usermanual-account/zh-cn_topic_0071343161.html)。
  如果您已开通华为云并进行实名认证，请忽略此步骤。
  
- 请您保证账户有足够的资金，以免创建MRS集群失败，具体操作请参见[账户充值](https://support.huaweicloud.com/usermanual-billing/bills-topic_30000002.html)。
- 已准备具有创建MRS集群权限的IAM用户，详细操作请参见[创建IAM用户并授权使用MRS](https://support.huaweicloud.com/usermanual-mrs/mrs_01_0453.html)。
 
 #### 步骤一：创建MRS集群
1. 进入[购买MRS集群页面](https://console.huaweicloud.com/mrs/?#/clusterCreate/quick)。
2. 在服务列表中搜索"MapReduce服务 MRS"，进入MRS服务管理控制台。
3. 单击"购买集群"，进入"购买集群"页面，选择"快速购买"页签。
4. 根据实际业务规划情况填写集群配置信息（本示例为快速创建按需计费的MRS 3.1.5版本集群，如需了解更多参数配置请参考[快速创建MRS集群](https://support.huaweicloud.com/usermanual-mrs/mrs_01_0496.html)）。
   
   表1MRS集群配置参数 
   | 参数         | 示例                 | 参数说明                                                                                                       |
   |:---|:---|:---|
   | 区域         | **华北-北京四**         | 选择区域。 不同区域的云服务产品之间内网互不相通。请就近选择靠近您业务的区域，可减少网络时延，提高访问速度。                     |
   | 计费模式       | **按需计费**           | 选择待创建的集群的计费模式，MRS提供"包年/包月"与"按需计费"两种计费模式。 按需计费是一种后付费模式，即先使用再付费，按照MRS集群实际使用时长计费。 |
   | 集群名称       | **mrs_demo**       | 待创建的MRS集群名称。                                                                                               |
   | 集群类型       | **自定义**            | 根据实际业务需要选择待创建的MRS集群类型。 "自定义"类型集群提供丰富的组件搭配，可自行选择对应版本MRS集群所支持的所有组件。               |
   | 版本类型       | **普通版**            | 待创建的MRS集群版本类型。                                                                                             |
   | 集群版本       | **MRS 3.1.5**      | 待创建的MRS集群版本，不同版本所包含的开源组件版本及功能特性可能不同，推荐选择最新版本。                                                              |
   | 组件选择       | **Hadoop分析集群**     | 基于系统预置的集群模板选择要购买的集群组件。                                                                                     |
   | 可用区        | **可用区1**           | 选择集群工作区域下关联的可用区。                                                                                           |
   | 虚拟私有云      | **vpc-default**    | 选择需要创建集群的VPC，单击"查看虚拟私有云"进入VPC服务查看已创建的VPC名称和ID。如果没有VPC，需要创建一个新的VPC。                                         |
   | 子网         | **subnet-default** | 选择需要创建集群的子网，可进入VPC服务查看VPC下已创建的子网名称和ID。如果VPC下未创建子网，请单击"创建子网"进行创建。                                           |
   | 集群节点       | **保持默认**           | 配置集群节点信息。                                                                                                  |
   | Kerberos认证 | **不开启**            | 是否启用Kerberos认证。                                                                                            |
   | 用户名        | **admin/root**     | 登录集群管理页面及ECS节点的用户名。                                                                                        |
   | 密码         | -                  | 设置登录集群管理页面及ECS节点用户的密码。                                                                                     |
   | 确认密码       | -                  | 再次输入设置用户密码。                                                                                                |
   | 企业项目       | **default**        | 选择集群所属的企业项目。                                                                                               |
   | 通信安全授权     | **勾选**             | 勾选确认授权。                                                                                                    |
      
   图1购买Hadoop分析集群   
   ![](https://support.huaweicloud.com/qs-mrs/zh-cn_image_0000002456692414.png "点击放大")
   
   
5. 单击"立即购买"，进入任务提交成功页面。
6. 单击"返回集群列表"，在"现有集群"列表中可以查看到集群创建的状态。 
   集群创建需要时间，所创集群的初始状态为"启动中"，创建成功后状态更新为"运行中"，请您耐心等待。
   
   
 
 #### 步骤二：安装集群客户端
MRS集群创建成功后，用户需手动安装集群客户端用于连接集群内各组件服务，进行客户端Shell连接、作业任务提交等操作。
客户端可以安装在集群内的节点上，也可以安装在集群外的节点上，本指南以在集群内的Master1节点上安装客户端为例进行介绍。
1. MRS集群创建成功后，在集群列表中单击MRS集群名称进入集群概览页面。
2. 单击"集群管理页面"后的"前往 Manager"，在弹出的窗口中选择"EIP访问"并配置弹性IP信息。 
   首次访问时，可单击"管理弹性公网IP"，在弹性公网IP控制台购买一个弹性公网IP，购买成功后刷新弹性公网IP列表并选择。
   
   
3. 勾选确认信息后，单击"确定"，登录集群的FusionInsight Manager管理界面。 
   Manager登录用户名为**admin**，密码为购买集群时配置的用于登录Manager管理界面的"admin"用户的自定义密码。
   
   
4. 在"主页"页签的集群名称后单击![](https://support.huaweicloud.com/qs-mrs/zh-cn_image_0000001933784841.png)，单击"下载客户端"下载集群客户端。
   
   图2下载客户端   
   ![](https://support.huaweicloud.com/qs-mrs/zh-cn_image_0000001889585124.png "点击放大")
   在"下载集群客户端"弹窗中，配置以下参数：
   - 选择客户端类型：选择"完整客户端"。
   
   - 选择平台类型：**必须与待安装客户端的节点的架构匹配** ，例如"x86_64"。
     对于集群内的节点，节点架构类型可在Manager页面选择"主机"，在待安装客户端节点所在行的"平台类型"列查看。
     
   
   - 勾选"仅保存到如下路径"，使用默认保存路径，文件生成后将保存在集群主OMS节点（通常为Master1节点）的"/tmp/FusionInsight-Client"目录下。
   
   
   图3下载集群客户端提示框   
   ![](https://support.huaweicloud.com/qs-mrs/zh-cn_image_0000001889562406.png "点击放大")
   单击"确定"后，等待客户端软件生成成功。
   
   
5. 在MRS服务管理控制台的集群列表中，单击集群名称，在集群的"节点管理"页签，单击包含"master1"的节点名称，在ECS详情页面右上角单击"远程登录"登录Master1节点。 
   图4查看Master1节点   
   ![](https://support.huaweicloud.com/qs-mrs/zh-cn_image_0000002184800321.png "点击放大")
   
   
6. 使用**root**用户登录Master1节点，密码为购买集群时配置用于登录集群节点的"root"用户的自定义密码。
7. 解压客户端软件包。 
   1. 执行以下命令切换到客户端软件包所在目录。
      ```
      cd /tmp/FusionInsight-Client/
      ```
      
   
   2. 执行以下命令解压客户端安装包。
      ```
      tar -xvf FusionInsight_Cluster_1_Services_Client.tar
      ```
      
   
   3. 解压获取的安装文件：
      ```
      tar -xvf FusionInsight_Cluster_1_Services_ClientConfig.tar
      ```
      
   
   
   
   
8. 执行以下命令进入安装包所在目录，安装客户端。 
   ```
   cd FusionInsight_Cluster_1_Services_ClientConfig
   ```
   执行如下命令安装客户端到指定目录（目录可以不存在，如果存在则必须为空）。
   例如安装到"/opt/client"目录，执行以下命令：
   ```
   ./install.sh /opt/client
   ```
   等待客户端安装完成。例如成功后显示如下：
   ```
   ...
   ... component client is installed successfully
   ...
   ```
   
   
 
 #### 步骤三：准备应用程序及数据
MRS集群创建成功后，可获取集群客户端内预置的wordcount样例程序进行运行，也可准备自行开发的大数据应用程序并上传至集群。
本指南以运行MRS集群客户端内的wordcount样例程序为例进行介绍，需先准备wordcount样例程序运行所需的数据文件。
1. 以**root**用户登录Master1节点。
2. 准备数据文件。 
   执行以下命令编辑"wordcount1.txt"文件：
   ```
   vi /opt/wordcount1.txt
   ```
   "wordcount1.txt"内容如下：
   ```
   hello word
   hello wordcount
   ```
   执行以下命令编辑"wordcount2.txt"文件：
   ```
   vi /opt/wordcount2.txt
   ```
   "wordcount2.txt"内容如下：
   ```
   hello mapreduce
   hello hadoop
   ```
   
   
3. 执行以下命令切换到客户端安装目录。 
   ```
   cd /opt/client
   ```
   配置环境变量：
   ```
   source bigdata_env
   ```
   执行以下命令创建用于存放样例数据的HDFS目录，例如"/user/example/input"。
   ```
   hdfs dfs -mkdir -p /user/example/input
   ```
   
   
4. 执行以下命令，将样例数据上传至HDFS。 
   ```
   hdfs dfs -put /opt/wordcount1.txt /user/example/input
   hdfs dfs -put /opt/wordcount2.txt /user/example/input
   ```
   
   
 
 #### 步骤四：提交作业并查看结果
1. 以**root**用户登录客户端节点（Master1节点）。
2. 执行以下命令切换到客户端安装目录。 
   ```
   cd /opt/client
   ```
   配置环境变量：
   ```
   source bigdata_env
   ```
   执行以下命令提交wordcount作业，读取源数据进行分析并将执行结果输出至HDFS。
   ```
   hadoop jar HDFS/hadoop/share/hadoop/mapreduce/hadoop-mapreduce-examples-3.3.1-*.jar wordcount "/user/example/input/*" "/user/example/output/"
   ```
   执行结果如下：
   ```
   ...
   File Input Format Counters 
   Bytes Read=56
   File Output Format Counters 
   Bytes Written=48
   ```
   ![](https://support.huaweicloud.com/qs-mrs/public_sys-resources/note_3.0-zh-cn.png)
   - "/user/example/output/"为HDFS上存放作业输出文件地址，请设置为一个不存在的目录。
   
   - "hadoop-mapreduce-examples-3.3.1-\*.jar"文件在不同版本的集群客户端目录下文件名有差异，以实际名称为准。
    
   
   
3. 查看作业执行结果。 
   1. 作业执行完成后，可执行以下命令查看作业输出文件。
      ```
      hdfs dfs -ls /user/example/output/
      ```
      执行结果如下：
      ```
      ...
      ... /user/example/output/_SUCCESS
      ... /user/example/output/part-r-0000
      ```
      
   
   2. 输出结果保存在HDFS文件系统中，可以通过命令将其下载到本地进行查看。 例如执行以下命令：
      ```
      hdfs dfs -get /user/example/output/part-r-00000 /opt
      ```
      ```
      cat /opt/part-r-00000
      ```
      "part-r-00000"文件内容如下：
      ```
      hadoop1
      hello4
      mapreduce1
      word1
      wordcount1
      ```
      
   
   
   
   
4. 查看作业运行记录。 
   1. 使用**admin**用户登录运行作业的集群的FusionInsight Manager页面，选择"集群 \> 服务 \> Yarn"。
   
   2. 单击ResourceManager Web UI所在行的"ResourceManager(xxx，主)"链接。
   
   3. 在"All Applications"页面，单击目标作业的ID，可以查看作业运行的详情。
      ![](https://support.huaweicloud.com/qs-mrs/public_sys-resources/note_3.0-zh-cn.png)
      在"All Applications"页面可根据任务提交时间和提交任务的用户名确认具体任务。
      图5查看作业详情   
      ![](https://support.huaweicloud.com/qs-mrs/zh-cn_image_0000001935522208.png "点击放大") 
   
   
   
   
 
 #### 后续操作：释放资源
如果您无需继续使用该MRS集群，请及时释放资源，避免产生额外的费用。详细操作步骤请参见[删除MRS集群](https://support.huaweicloud.com/usermanual-mrs/mrs_01_0042.html)。
#### 相关信息
Hadoop组件包含了HDFS、Yarn、Mapreduce服务，可根据业务实际需求运行相关作业进行离线数据分析或查看，详细操作请参见[使用HDFS](https://support.huaweicloud.com/cmpntguide-mrs/mrs_01_0790.html)、[使用MapReduce](https://support.huaweicloud.com/cmpntguide-mrs/mrs_01_0834.html)或[使用Yarn](https://support.huaweicloud.com/cmpntguide-mrs/mrs_01_0851.html)。
