
# 准备连接IoTDB集群配置文件
 #### 准备集群认证用户信息
对于开启Kerberos认证的MRS集群，需提前准备具有相关组件操作权限的用户用于程序认证。
以下IoTDB权限配置示例供参考，在实际业务场景中可根据业务需求灵活调整。
1. 登录FusionInsight Manager。
2. 选择"系统 \> 权限 \> 角色 \> 添加角色"。
   
   1. 填写角色的名称，例如**developrole**。
   
   2. 在"配置资源权限"的表格中选择"*待操作集群的名称* \> IoTDB \> 普通用户权限"，勾选root根目录的"设置数据库"权限。
   
   3. 单击"root"，选择对应的存储组，勾选"创建"、"修改"、"写"、"读"、"删除"权限，单击"确定"保存。
   
   
   
   
3. 选择"用户 \> 添加用户"，在新增用户界面，创建一个机机用户，例如**developuser。**
   
   - "用户组"需加入"iotdbgroup"用户组。
   
   - "角色"加入[2]新增的角色。
   
   
   
   
4. 使用**admin** 用户登录FusionInsight Manager，选择"系统 \> 权限 \> 用户"，在用户名为**develop** **user**的操作列选择"更多 \> 下载认证凭据"下载认证凭据文件，保存后解压得到该用户的"user.keytab"文件与"krb5.conf"文件。
 
#### 生成IoTDB客户端SSL证书
若集群开启了SSL加密传输且本地Windows或Linux环境首次运行IoTDB样例代码，需执行以下操作生成客户端SSL证书。
1. 以客户端安装用户，登录安装客户端的节点。
2. 切换到IoTDB客户端安装目录，例如：/opt/client。 
   **cd** **/opt/client**
   
   
3. 执行以下命令配置环境变量。 
   **source bigdata_env**
   
   
4. 执行以下命令生成客户端SSL证书"truststore.jks"： 
   **keytool -noprompt -import -alias myservercert -file ca.crt -keystore truststore.jks**
   执行该命令后需输入一个自定义密码。
   
   
5. 若需在Linux环境中运行样例代码，需将生成的"truststore.jks"文件复制到"*客户端安装目录* /IoTDB/iotdb/conf"目录下：
   
   **cp truststore.jks** *客户端安装目录* **/IoTDB/iotdb/conf**
   
   
 
#### 准备运行环境配置文件
应用程序开发或运行过程中，需通过集群相关配置文件信息连接MRS集群，配置文件通常包括集群组件信息文件以及用于安全认证的用户文件，可从已创建好的MRS集群中获取相关内容。
用于程序调测或运行的节点，需要与MRS集群内节点网络互通，同时配置hosts域名信息。
- 场景一：准备本地Windows开发环境调测程序所需配置文件。
  1. 下载并解压客户端软件包。
     - MRS 3.3.0之前版本，登录FusionInsight Manager页面，选择"集群 \> 概览 \> 更多 \> 下载客户端"，"选择客户端类型"设置为"仅配置文件"，单击"确定"，等待客户端文件包生成后根据浏览器提示下载客户端到本地并解压。
     
     - MRS 3.3.0及之后版本，登录FusionInsight Manager页面，在"主页"右上方单击"下载客户端"，"选择客户端类型"设置为"仅配置文件"，单击"确定"，等待客户端文件包生成后根据浏览器提示下载客户端到本地并解压。
     
     
     例如，客户端配置文件压缩包为"FusionInsight_Cluster_1_Services_Client.tar"，解压后得到"FusionInsight_Cluster_1_Services_ClientConfig_ConfigFiles.tar"，继续解压该文件。解压到本地PC的"D:\\FusionInsight_Cluster_1_Services_ClientConfig_ConfigFiles"目录下。
     
  
  2. 复制解压目录下的"hosts"文件中的内容到客户端所在节点的"hosts"文件中，确保本地机器能与解压目录下"hosts"文件中所列出的各主机在网络上互通。
     ![](https://support.huaweicloud.com/devg-lts-mrs/public_sys-resources/note_3.0-zh-cn.png)
     - 当客户端所在主机不是集群中的节点时，配置客户端网络连接，可避免执行客户端命令时出现错误。
     
     - Windows本地hosts文件存放路径举例："C:\\WINDOWS\\system32\\drivers\\etc\\hosts"。
       
   
- 场景二：准备Linux环境运行程序所需配置文件。
  1. 在节点中安装客户端，例如客户端安装目录为"/opt/client"。 客户端机器的时间与集群的时间要保持一致，时间差小于5分钟。
     
  
  2. 下载客户端配置文件至集群主OMS节点。
     - MRS 3.3.0之前版本，登录FusionInsight Manager页面，选择"集群 \> 概览 \> 更多 \> 下载客户端"，"选择客户端类型"设置为"仅配置文件"，勾选"仅保存到如下路径"，单击"确定"，下载客户端配置文件至集群主OMS节点。
     
     - MRS 3.3.0及之后版本，登录FusionInsight Manager页面，在"主页"右上方单击"下载客户端"，"选择客户端类型"设置为"仅配置文件"，勾选"仅保存到如下路径"，单击"确定"，下载客户端配置文件至集群主OMS节点。
      
  
  3. 以**root** 登录主OMS节点，进入客户端配置文件所在路径（默认为"/tmp/FusionInsight-Client/"），解压软件包后获取"IoTDB/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 IoTDB/config/\* root@** *客户端节点IP地址* **:/opt/client/conf**
     
  
  4. 检查客户端节点网络连接。 在安装客户端过程中，系统会自动配置客户端节点"hosts"文件，建议检查"/etc/hosts"文件内是否包含集群内节点的主机名信息，如未包含，需要手动复制解压目录下的"hosts"文件中的内容到客户端所在节点的hosts文件中，确保本地机器能与集群各主机在网络上互通。
     
   
 
