
# 准备连接MapReduce集群配置文件
![](https://support.huaweicloud.com/devg3-mrs/public_sys-resources/note_3.0-zh-cn.png)
如果需要使用访问多组件样例程序，请确保集群已安装Hive、HBase服务。
 #### 准备集群认证用户信息
对于开启Kerberos认证的MRS集群，需提前准备具有相关组件操作权限的用户，并下载认证凭据文件用于程序认证。
以下MapReduce权限配置示例供参考，在实际业务场景中可根据业务需求灵活调整。
1. 登录FusionInsight Manager。
2. 选择"系统 \> 权限 \> 角色 \> 添加角色"。
3. 填写角色的名称，例如**developrole**。
4. 在"配置资源权限"的表格中配置以下参数后，单击"确定"保存。 
   选择"*待操作集群的名称* \> HDFS \> 文件系统 \> hdfs://hacluster/"，勾选"user"的"读"、"写"、"执行"和"递归"。
   **如果要执行多组件用例，还需：**
   - 选择"*待操作集群的名称* \> HDFS \> 文件系统 \> hdfs://hacluster/ \> tmp"，勾选"hive-scratch"的"读"、"写"、"执行"，若存在"examples" ，勾选"examples"的"读"、"写"、"执行"和"递归"。
   
   - 选择"*待操作集群的名称* \> HBase \> HBase Scope \> global"勾选"default"的"创建"。
   
   - 选择"待操作集群的名称 \> HBase \> HBase Scope \> global \> hbase"，勾选"hbase:meta"的"执行"。
   
   - 选择"*待操作集群的名称* \> Hive \> Hive读写权限"，勾选"default"的 "查询"、"插入"、"建表"、"递归"。
   
   
   
   
5. 编辑角色，在"配置资源权限"的表格中选择"*待操作集群的名称* \> Yarn \> 调度队列 \> root"，勾选"default"的"提交"，单击"确定"保存。
6. 选择"用户 \> 添加用户"，在新增用户界面，创建一个机机用户，例如**developuser。**
   
   - "用户组"需加入"hadoop"用户组。
   
   - "角色"加入新增的角色，例如**developrole**。
   
   
   
   
7. 使用**admin** 用户登录FusionInsight Manager，选择"系统 \> 权限 \> 用户"，在用户名为**develop** **user**的操作列选择"更多 \> 下载认证凭据"下载认证凭据文件，保存后解压得到该用户的"user.keytab"文件与"krb5.conf"文件。
 
 #### 准备运行环境配置文件
应用程序开发或运行过程中，需通过集群相关配置文件信息连接MRS集群，配置文件通常包括集群组件信息文件以及用于安全认证的用户文件，可从已创建好的MRS集群中获取相关内容。
用于程序调测或运行的节点，需要与MRS集群内节点网络互通，同时配置hosts域名信息。
- 场景一：准备本地Windows开发环境调测程序所需配置文件。
  1. 登录FusionInsight Manager页面，选择"集群 \> 概览 \> 更多 \> 下载客户端"，"选择客户端类型"设置为"完整客户端"，根据待安装客户端节点的节点类型选择正确的平台类型后单击"确定"，等待客户端文件包生成后根据浏览器提示下载客户端到本地并解压。 例如，客户端文件压缩包为"FusionInsight_Cluster_1_Services_Client.tar"，解压后得到"FusionInsight_Cluster_1_Services_ClientConfig.tar"，继续解压该文件。
     
  
  2. 进入解压后的"FusionInsight_Cluster_1_Services_ClientConfig"文件夹，获取[表1]中配置文件。
      表1配置文件 
     | 获取路径          | 配置文件                  | 作用                    |
     |:---|:---|:---|
     | Yarn\\config  | core-site.xml         | 配置Hadoop Core详细参数。    |
     | Yarn\\config  | hbase-site.xml        | 配置HBase详细参数。          |
     | Yarn\\config  | hdfs-site.xml         | 配置HDFS详细参数。           |
     | Yarn\\config  | mapred-site.xml       | Hadoop MapReduce配置文件。 |
     | Yarn\\config  | yarn-site.xml         | 配置Yarn详细参数。           |
     | HBase\\config | hbase-site.xml        | 配置HBase详细参数。          |
     | Hive\\config  | hive-site.xml         | 配置Hive详细参数。           |
     | Hive\\config  | hiveclient.properties | 配置Hive详细参数。           |
        
     ![](https://support.huaweicloud.com/devg3-mrs/public_sys-resources/note_3.0-zh-cn.png)
     如果不运行MapReduce访问多组件样例程序，则不需要获取HBase和Hive的hbase-site.xml、hive-site.xml、hiveclient.properties配置文件。
     
  
  3. 复制解压目录下的"hosts"文件中的内容到客户端所在节点的hosts文件中，确保本地机器能与解压目录下"hosts"文件中所列出的各主机在网络上互通。
     ![](https://support.huaweicloud.com/devg3-mrs/public_sys-resources/note_3.0-zh-cn.png)
     - 当客户端所在主机不是集群中的节点时，配置客户端网络连接，可避免执行客户端命令时出现错误。
     
     - Windows本地hosts文件存放路径举例："C:\\WINDOWS\\system32\\drivers\\etc\\hosts"。
       
   

- 场景二：准备Linux环境运行程序所需配置文件。
  1. 在节点中安装客户端。 如果需要使用[MapReduce访问多组件样例程序](https://support.huaweicloud.com/devg3-mrs/mrs_07_150014.html)，请确保集群已安装Hive、HBase服务。
     例如客户端安装目录为"/opt/client"。
     
  
  2. 登录FusionInsight Manager页面，选择"集群 \> 概览 \> 更多 \> 下载客户端"，"选择客户端类型"设置为"仅配置文件"，勾选"仅保存到如下路径"，单击"确定"，下载客户端配置文件至集群主OMS点。
  
  3. 以**root** 用户登录主OMS节点，进入客户端配置文件所在路径（默认为"/tmp/FusionInsight-Client/"）解压软件包。
     例如客户端软件包为"FusionInsight_Cluster_1_Services_Client.tar"，下载路径为主管理节点的"/tmp/FusionInsight-Client"，则执行以下命令进行解压：
     **cd /tmp/FusionInsight-Client**
     **tar -xvf FusionInsight_Cluster_1_Services_Client.tar**
     **tar -xvf FusionInsight_Cluster_1_Services_ClientConfig_ConfigFiles.tar**
     **cd /tmp/FusionInsight-Client/FusionInsight_Cluster_1_Services_ClientConfig** **_ConfigFiles**
     
  
  4. 参考[表1]将相关配置文件上传到"conf"目录下（后续编译出的jar包也需要放置在此目录），用于后续调测。例如"/opt/hadoopclient/conf"，该目录需要提前在客户端节点上创建。
     例如，上传Yarn客户端的"core-site.xml"文件则执行以下命令：
     **scp Yarn/config/core-site.xml root@** *客户端节点IP地址* **:/opt/hadoopclient/conf**
     参考以上命令依次上传[表1]中的所有配置文件。
     
  
  5. 检查客户端节点网络连接。 在安装客户端过程中，系统会自动配置客户端节点"hosts"文件，建议检查"/etc/hosts"文件内是否包含集群内节点的主机名信息，如未包含，需要手动复制解压目录下的"hosts"文件中的内容到客户端所在节点的hosts文件中，确保本地机器能与集群各主机在网络上互通。
     
   
 
