
# 快速创建和使用启用安全认证的MRS集群
#### 操作场景
本入门提供从零开始创建开启Kerberos认证的Hadoop分析集群并通过集群客户端提交一个wordcount作业的操作指导。wordcount是最经典的Hadoop作业，用于统计海量文本的单词数量。
Hadoop集群完全使用开源Hadoop生态，采用Yarn管理集群资源，提供Hive、Spark离线大规模分布式数据存储和计算及进行海量数据分析与查询的能力。
#### 操作流程
开始使用如下样例前，请务必按[准备工作]指导完成必要操作。
1. [创建MRS集群]：创建一个MRS 3.2.0-LTS.1版本开启Kerberos认证的"Hadoop分析集群"。
2. [创建集群用户]：在FusionInsight Manager界面创建一个具有提交wordcount作业权限的角色并绑定给用户。
3. [安装集群客户端]：下载并安装MRS集群客户端。
4. [准备应用程序及数据]：准备MRS集群客户端内wordcount样例程序运行所需的数据文件。
5. [提交作业并查看结果]：在集群客户端提交wordcount数据分析作业并查看执行结果。
6. [释放资源]：如果您在完成实践后不需要继续使用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.2.0-LTS.1版本集群，如需了解更多参数配置请参考[快速创建MRS集群](https://support.huaweicloud.com/usermanual-mrs/mrs_01_0496.html)）。
   
   表1MRS集群配置参数 
   | 参数         | 示例                  | 参数说明                                                                                                         |
   |:---|:---|:---|
   | 区域         | **华北-北京四**          | 选择区域。 不同区域的云服务产品之间内网互不相通。请就近选择靠近您业务的区域，可减少网络时延，提高访问速度。                       |
   | 计费模式       | **按需计费**            | 选择待创建的集群的计费模式，MRS提供"包年/包月"与"按需计费"两种计费模式。 按需计费是一种后付费模式，即先使用再付费，按照MRS集群实际使用时长计费。 |
   | 集群名称       | **mrs_demo**        | 待创建的MRS集群名称。                                                                                                 |
   | 集群类型       | **自定义**             | 根据业务实际需求选择待创建的MRS集群类型。"自定义"类型集群提供丰富的组件搭配，可自行选择对应版本MRS集群所支持的所有组件。                                             |
   | 版本类型       | **LTS版**            | 待创建的MRS集群版本类型。                                                                                               |
   | 集群版本       | **MRS 3.2.0-LTS.1** | 待创建的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_0000002456534752.png "点击放大")
   
   
5. 单击"立即购买"，进入任务提交成功页面。
6. 单击"返回集群列表"，在"现有集群"列表中可以查看到集群创建的状态。 
   集群创建需要时间，所创集群的初始状态为"启动中"，创建成功后状态更新为"运行中"，请您耐心等待。
   
   
 
 #### 步骤二：创建集群用户
开启Kerberos认证的集群，必须通过以下步骤创建一个用户并分配相应权限来允许用户执行程序。
1. MRS集群创建成功后，在集群列表中单击MRS集群名称进入集群概览页面。
2. 单击"集群管理页面"后的"前往 Manager"，在弹出的窗口中选择"EIP访问"并配置弹性IP信息。 
   首次访问时，可单击"管理弹性公网IP"，在弹性公网IP控制台购买一个弹性公网IP，购买成功后刷新弹性公网IP列表并选择。
   
   
3. 勾选确认信息后，单击"确定"，登录集群的FusionInsight Manager管理界面。 
   Manager登录用户名为admin，密码为购买集群时配置的用于登录Manager管理界面的"admin"用户的自定义密码。
   
   
4. 选择"系统 \> 权限 \> 角色"。
5. 单击"添加角色"，配置如下参数创建一个角色，详情请参见[创建角色](https://support.huaweicloud.com/usermanual-mrs/mrs_01_0343.html)。
   
   - 填写角色的名称，例如mrrole。
   
   - 在"配置资源权限"选择待操作的集群，然后选择"Yarn \> 调度队列 \> root"，勾选"权限"列中的"提交"和"管理"，勾选完全后，单击如下图的待操作的集群名，进行后面权限的选择。
     图2配置Yarn服务权限   
     ![](https://support.huaweicloud.com/qs-mrs/zh-cn_image_0000001889042968.png "点击放大") 
   
   - 选择"HDFS \> 文件系统 \> hdfs://hacluster/"，勾选"user"所在行的"权限"列的"读"、"写"和"执行"权限，单击"确定"，完成角色的创建。
     图3配置HDFS服务权限   
     ![](https://support.huaweicloud.com/qs-mrs/zh-cn_image_0000001889202924.png "点击放大") 
   
   
   
   
6. 选择"用户 \> 添加用户"，配置如下参数创建一个用户，详情请参见[创建用户](https://support.huaweicloud.com/usermanual-mrs/mrs_01_0345.html)。
   
   - 填写用户名，例如**test**。
   
   - 用户类型为"人机"用户。
   
   - 输入密码和确认新密码。
   
   - 绑定"Manager_viewer"和[5]新建的"mrrole"角色取得权限。
   
   
   图4添加用户   
   ![](https://support.huaweicloud.com/qs-mrs/zh-cn_image_0000001965452205.png "点击放大")
   
   
7. 单击"确定"完成用户创建。
 
 #### 步骤三：安装集群客户端
MRS集群创建成功后，用户可安装集群客户端用于连接集群内各组件服务，进行作业提交等操作。
客户端可以安装在集群内的节点上，也可以安装在集群外的节点上。本指南以在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_0000001936418614.png)，单击"下载客户端"下载集群客户端。
   
   图5下载客户端   
   ![](https://support.huaweicloud.com/qs-mrs/zh-cn_image_0000001936419918.png "点击放大")
   在"下载集群客户端"弹窗中，配置以下参数：
   - 选择客户端类型：选择"完整客户端"。
   
   - 选择平台类型：默认勾选即可，例如"x86_64"。
   
   - 勾选"仅保存到如下路径"，使用默认保存路径，文件生成后将保存在集群主OMS节点的"/tmp/FusionInsight-Client"目录下。
   
   
   图6下载集群客户端提示框   
   ![](https://support.huaweicloud.com/qs-mrs/zh-cn_image_0000001963580973.png)
   单击"确定"后，等待客户端软件生成成功。
   
   
5. 在MRS服务管理控制台的集群列表中，单击集群名称，在集群的"节点管理"页签，单击包含"master1"的节点名称，在ECS详情页面单击右上角的"远程登录"登录Master1节点。 
   图7查看Master1节点   
   ![](https://support.huaweicloud.com/qs-mrs/zh-cn_image_0000002184974017.png "点击放大")
   
   
6. 使用**root**用户登录Master1节点，密码为购买集群时配置的用于登录集群节点的"root"用户自定义密码。
7. 执行以下命令切换到客户端软件包所在目录，并解压客户端软件包： 
   ```
   cd /tmp/FusionInsight-Client/
   ```
   ```
   tar -xvf FusionInsight_Cluster_1_Services_Client.tar
   ```
   ```
   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
   ...
   ```
   ![](https://support.huaweicloud.com/qs-mrs/public_sys-resources/note_3.0-zh-cn.png)
   客户端安装目录可以不存在，会自动创建。但如果存在，则必须为空，目录路径不能包含空格。且客户端安装目录路径只能包含大写字母、小写字母、数字以及**_**字符。
   
   
 
 #### 步骤四：准备应用程序及数据
MRS集群创建成功后，可获取集群客户端内的wordcount样例程序进行运行，也可准备上层业务自行开发的大数据应用程序并上传至集群。本指南以运行MRS集群客户端内的wordcount样例程序为例进行介绍，需先准备wordcount样例程序运行所需的数据文件。
1. 以**root**用户登录Master1节点。
2. 准备数据文件。 
   数据文件无格式要求，例如文件名为"wordcount1.txt"和"wordcount2.txt"，内容如下所示：
   **vi /opt/wordcount1.txt**
   ```
   hello word
   hello wordcount
   ```
   **vi /opt/wordcount2.txt**
   ```
   hello mapreduce
   hello hadoop
   ```
   
   
3. 执行以下命令切换到客户端安装目录，配置环境变量并创建用于存放样例数据的HDFS目录，例如"/user/example/input"。 
   ```
   cd /opt/client
   ```
   ```
   source bigdata_env
   ```
   ```
   kinit test（test为6创建的用户名，如果该用户首次登录，需修改初始密码）
   ```
   ```
   hdfs dfs -mkdir -p /user/example
   ```
   ```
   hdfs dfs -mkdir -p /user/example/input
   ```
   ![](https://support.huaweicloud.com/qs-mrs/public_sys-resources/note_3.0-zh-cn.png)
   [6]创建的**test**用户仅具有"/user"目录的"读"、"写"和"执行"权限，如果在"/user"之外其他目录中创建"input"目录会报权限不足错误，例如：
   **hdfs dfs -mkdir -p /hbase/input**
   命令执行后会报如下错误：
   ```
   mkdir: Permission denied: user=test, access=EXECUTE, inode="/hbase":hbase:hadoop:drwxrwx--T
   ```
   
   
4. 执行以下命令，将样例数据上传至HDFS。 
   ```
   hdfs dfs -put /opt/wordcount1.txt /user/example/input
   ```
   ```
   hdfs dfs -put /opt/wordcount2.txt /user/example/input
   ```
   
   
 
 #### 步骤五：提交作业并查看结果
1. 以**root**用户登录客户端节点（Master1节点）。
2. 执行如下命令提交wordcount作业，读取源数据进行分析并将执行结果输出至HDFS。 
   ```
   cd /opt/client
   ```
   ```
   source bigdata_env
   ```
   ```
   kinit test
   ```
   ```
   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. 使用[6]创建的**test**用户登录集群的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"页面可根据任务提交时间和提交任务的用户名确认具体任务。
      图8查看作业详情   
      ![](https://support.huaweicloud.com/qs-mrs/zh-cn_image_0000001963884617.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)。
