
# 准备连接集群配置文件
 #### 准备集群认证用户信息
对于开启Kerberos认证的MRS集群，需提前准备具有相关组件操作权限的用户用于程序认证。
以下Flink权限配置示例供参考，在实际业务场景中可根据业务需求灵活调整。
1. 登录FusionInsight Manager。
2. 选择"系统 \> 权限 \> 角色 \> 添加角色"，根据服务的权限控制类别添加业务开发时需要的权限。
   
   1. 填写角色的名称，例如**developrole**。
   
   2. 在"配置资源权限"的表格中选择"*待操作集群的名称* \> HDFS \> 文件系统 \> hdfs://hacluster/ \> flink "，勾选"读"、"写"和"执行"，单击"配置资源权限"表格中"服务"返回。
   
   3. 在"配置资源权限"的表格中选择"*待操作集群的名称* \> Yarn \> 调度队列 \> root"，勾选default的"提交"，单击"确定"保存。
      ![](https://support.huaweicloud.com/devg3-mrs/public_sys-resources/note_3.0-zh-cn.png)
      若指定state backend为HDFS，例如指定state backend目录为"hdfs://hacluster/flink-checkpoint"，需同样为"hdfs://hacluster/flink-checkpoint"目录配置"读"、"写"和"执行"权限。
      
   
   
   
   
3. 选择"系统 \> 权限 \> 用户组 \> 添加用户组"，为样例工程创建一个用户组，例如**developgroup**。
4. 选择"系统 \> 权限 \> 用户 \> 添加用户"，在新增用户界面，创建一个人机用户，例如**developuser。**
   
   - "用户组"：加入"**developgroup** "和"**hadoop** "用户组，设置主组为"**developgroup** "。
     ![](https://support.huaweicloud.com/devg3-mrs/public_sys-resources/note_3.0-zh-cn.png)
     若用户需要对接Kafka，则需创建具有Flink和Kafka组件的混合集群，或者为拥有Flink组件的集群和拥有Kafka组件的集群配置跨集群互信，并将创建的Flink用户加入"kafkaadmin"用户组。
     
   
   - "角色"：加入[2]新增的**developrole**等角色。
   
   
   
   
5. 使用**developuser**用户登录FusionInsight Manager，首次登录需根据界面提示修改用户密码，修改成功后再次登录FusionInsight Manager。
6. 选择"系统 \> 权限 \> 用户"，在用户名为**develop** **user**的操作列选择"更多 \> 下载认证凭据"下载认证凭据文件，保存后解压得到该用户的"user.keytab"文件与"krb5.conf"文件。
 
 #### 准备运行环境配置文件
应用程序开发或运行过程中，需通过集群相关配置文件信息连接MRS集群，配置文件通常包括集群组件信息文件以及用于安全认证的用户文件，可从已创建好的MRS集群中获取相关内容。
用于程序调测或运行的节点，需要与MRS集群内节点网络互通，同时配置hosts域名信息。
准备Linux环境运行程序所需配置文件。
1. 在节点中安装MRS集群客户端。例如客户端安装目录为"/opt/client"。
   ![](https://support.huaweicloud.com/devg3-mrs/public_sys-resources/note_3.0-zh-cn.png)
   - 客户端机器的时间与集群的时间要保持一致，时间差小于5分钟。
   
   - 确保Flink客户端的"flink-conf.yaml"配置文件中的认证相关配置项已经配置正确，请参考[准备Flink安全认证](https://support.huaweicloud.com/devg3-mrs/mrs_07_050010.html)。
   
   - 安全模式下需要将客户端安装节点的业务IP地址以及Manager的浮动IP地址追加到"flink-conf.yaml"文件中的"jobmanager.web.allow-access-address"配置项中，IP地址之间使用英文逗号分隔。
     
2. 获取配置文件：
   1. 登录FusionInsight Manager下载客户端，"选择客户端类型"设置为"仅配置文件"，勾选"仅保存到如下路径"，单击"确定"，下载客户端配置文件至集群主OMS点。
   
   2. 以**root** 登录主OMS节点，进入客户端配置文件所在路径（默认为"/tmp/FusionInsight-Client"），解压软件包后获取"FusionInsight_Cluster_*x* _Services_ClientConfig/Flink/config"路径下的所有配置文件，放置到客户端节点中与准备放置编译出的jar包同目录的"conf"目录下，用于后续调测，例如"/opt/client/conf"。
      例如客户端软件包为"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.tar**
      **cd FusionInsight_Cluster_1_Services_ClientConfig**
      **scp Flink/config/\* root@** *客户端节点IP地址* **:/opt/client/conf**
      [准备集群认证用户信息]获取的keytab文件也放置于该目录下，主要配置文件说明如[表1]所示。
       表1配置文件 
      | **文件名称**        | **作用**                |
      |:---|:---|
      | core-site.xml   | 配置Flink详细参数。          |
      | hdfs-site.xml   | 配置HDFS详细参数。           |
      | yarn-site.xml   | 配置Yarn详细参数。           |
      | flink-conf.yaml | Flink客户端配置文件。         |
      | user.keytab     | 对于Kerberos安全认证提供用户信息。 |
      | krb5.conf       | Kerberos Server配置信息。  |
         
      
    
3. 检查客户端节点网络连接。 在安装客户端过程中，系统会自动配置客户端节点"hosts"文件，建议检查"/etc/hosts"文件内是否包含集群内节点的主机名信息，如未包含，需要手动复制解压目录下的"hosts"文件中的内容到客户端所在节点的hosts文件中，确保本地机器能与集群各主机在网络上互通。
   
 
#### 准备安全认证（安全模式集群）
参考[准备Flink安全认证](https://support.huaweicloud.com/devg3-mrs/mrs_07_050010.html)。
