
# 配置Doris对接Hudi数据源
在MRS集群元数据存储在Hive MetaStore的场景中，CloudTable Doris集群支持通过Catalog的方式对接MRS Hudi数据源。
CloudTable目前不支持S3协议，推荐使用OBS协议创建Hudi Catalog。
#### 前提条件
- 已[创建MRS集群](https://support.huaweicloud.com/usermanual-mrs/mrs_01_0030.html)。
- 已[创建Doris集群](https://support.huaweicloud.com/usermanual-cloudtable/cloudtable_01_0232.html)。
 
- 为了确保网络连通，MRS集群必须与StarRocks集群的VPC、子网保持一致，且将StarRocks集群的所有节点IP加入到MRS集群的安全组中。
- 已在MRS Spark客户端中准备待读取的Hudi表数据。
#### 步骤一：创建MRS Hudi连接
1. 登录[表格存储服务控制台](https://console.huaweicloud.com/cloudtable)。
2. 用户在集群管理界面，选择目标集群进入集群详情页面。
3. 单击"连接管理 \> 新建连接"，弹出新建连接页面，创建MRS Hudi连接。
4. 新建连接类型： 
   - 认证类型选择SIMPLE，OBS按钮关闭状态。
   
   - 认证类型选择KERBEROS，OBS按钮关闭状态。
   
   - 认证类型选择SIMPLE，OBS按钮开启状态。
   
   - 认证类型选择KERBEROS，OBS按钮开启状态。
   
   
   表1参数说明 
   | 参数         | 描述                                                                                                                                                                                                     |
   |:---|:---|
   | 名称         | 根据连接的数据源类型，用户可以自定义连接名。 说明： 必须以字母开头，由字母、数字、中划线组成，不能包含其他的特殊字符，并且长度为4～64个字符。            |
   | 连接器        | Doris支持的外部数据目录组件，目前支持可选：Hive。                                                                                                                                                                          |
   | Hadoop类型   | Doris支持hadoop组件，目前支持的可选：MRS。                                                                                                                                                                           |
   | 集群名称       | MRS集群名称。 说明： Doris只能对接一个Kerberos集群中的一个用户。                                             |
   | Manager IP | MRS Manager的浮动IP地址，选择连接的集群后，IP地址会自动填充。                                                                                                                                                                 |
   | 认证类型       | MRS集群鉴权类型，安全集群可选"KERBEROS"，非安全集群可选"SIMPLE"。选择连接的集群后，安全类型会自动填充。 说明： KERBEROS类型连接只能创建一个。 |
   | 连接器版本      | MRS集群的数据源组件的版本，HIVE支持3版本，可选：3.X。                                                                                                                                                                       |
   | 用户名        | MRS集群的用户名，且此用户必须为高权限可以访问Hive、HDFS的底层数据。如果您想创建新用户，请参见[创建MRS集群用户](https://support.huaweicloud.com/usermanual-mrs/mrs_01_0345.html)。                                                                      |
   | 密码         | MRS集群用户对应的密码。                                                                                                                                                                                          |
   | OBS支持      | 打开按钮，当前创建的Catalog连接的数据表在OBS中。关闭按钮当前创建的Catalog连接的数据表在HDFS中。                                                                                                                                             |
      
   
   
5. 配置好参数后，单击"测试"。 
   如果测试失败请检查用户名和密码是否正确。
   
   
6. 测试完成后，单击确定按钮，连接设置页面会出现一条新的连接记录。
 
#### 步骤二：使用SQL命令创建Hudi catalog
1. 使用SSH登录工具，通过弹性IP远程登录到Linux弹性云服务器。 
   具体登录操作步骤请参见弹性云服务器《用户指南》中的" [SSH密码方式登录](https://support.huaweicloud.com/usermanual-ecs/zh-cn_topic_0017955633.html)"。
   
   
2. 访问Doris集群，参见[使用MySQL客户端连接Doris普通集群](https://support.huaweicloud.com/usermanual-cloudtable/cloudtable_01_0228.html)。
3. 创建Hudi Catalog表。 
   - 创建认证类型为SIMPLE的Catalog，访问存储在MRS HDFS中的Hudi数据。
     ```
     CREATE CATALOG hudi_catalog_simple PROPERTIES (
         'type'='hms',
         'hive.metastore.uris'='thrift://192.X.X.X:port,thrift://192.x.x.x:port',
         'hive.metastore.sasl.enabled' = 'false',
         'dfs.nameservices'='hacluster',
         'dfs.ha.namenodes.hacluster'='3,4',
         'dfs.namenode.rpc-address.hacluster.3'='192.x.x.x:port',
         'dfs.namenode.rpc-address.hacluster.4'='192.x.x.x:port',
         'dfs.client.failover.proxy.provider.hacluster'='***',
         'hive.version' = '3.1.0'
     );
     ```
     
   
   - 创建认证类型为KERBEROS的Catalog，访问存储在MRS HDFS中的Hudi数据。
     ```
     CREATE CATALOG hudi_catalog PROPERTIES (
         'type'='hms',
         'hive.metastore.uris' = 'thrift://192.x.x.x:port,thrift://192.x.x.x:port',
         'hive.metastore.sasl.enabled' = 'true',
         'hive.server2.thrift.sasl.qop'='auth-conf',
         'hive.server2.authentication' = 'KERBEROS',
         'hive.server2.authentication.kerberos.principal' = '***',
         'hive.metastore.kerberos.principal' = '***',
         'dfs.nameservices'='hacluster',
         'dfs.ha.namenodes.hacluster'='3,4',
         'dfs.namenode.rpc-address.hacluster.3'='192.x.x.x:port',
         'dfs.namenode.rpc-address.hacluster.4'='192.x.x.x:port',
         'dfs.client.failover.proxy.provider.hacluster'='***',
         'hadoop.security.authentication'='kerberos',
         'hadoop.kerberos.principal' = '{kinit_result}', -- kinit {USER_NAME} 的结果
         'hive.version' = '3.1.0',
         'fs.defaultFS'='hdfs://hacluster',
         'hadoop.rpc.protection'='privacy'
     );
     ```
     
   
   - 创建认证类型为SIMPLE的Catalog，访问存储在OBS中的Hudi数据。
     ```
     CREATE CATALOG hudi_catalog_simple_obs PROPERTIES (
         'type'='hms',
         'hive.metastore.uris'='thrift://192.x.x.x:port,thrift://192.x.x.x:port',
         'obs.access_key' = '***',
         'obs.secret_key' = '***',
         'obs.endpoint' = '***',
         'obs.region' = '***',
         'hive.metastore.sasl.enabled' = 'true',
         'hive.version' = '3.1.0'
     );
     ```
     
   
   - 创建认证类型为KERBEROS的Catalog，访问存储在OBS中的Hudi数据。
     ```
     CREATE CATALOG hudi_catalog_obs PROPERTIES (
         'type'='hms',
         'hive.metastore.uris' = 'thrift://192.x.x.x:port,thrift://192.x.x.x:port',
         'hive.metastore.sasl.enabled' = 'true',
         'hive.server2.thrift.sasl.qop'='auth-conf',
         'hive.server2.authentication' = 'KERBEROS',
         'hive.server2.authentication.kerberos.principal' = '***',
         'hive.metastore.kerberos.principal' = '***',
         'hadoop.security.authentication'='kerberos',
         'hadoop.kerberos.principal' = 'USER_NAME',
         'hive.version' = '3.1.0',
         'fs.defaultFS'='hdfs://hacluster',
         'hadoop.rpc.protection'='privacy',
         'obs.access_key' = '***',
         'obs.secret_key' = '***',
         'obs.endpoint' = '***',
         'obs.region' = '***'
     );
     ```
     
     相关参数描述以及参数值获取方法。
     表2参数说明 
     | 参数                                             | 说明                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
     |:---|:---|
     | type                                           | 对接外部数据类型。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
     | hive.metastore.uris                            | Hive元数据URI，可在"hive-site.xml"配置文件中查看。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
     | hive.metastore.sasl.enabled                    | 可在"hive-site.xml"配置文件查看。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
     | dfs.nameservices                               | 可在"hdfs-site.xml"配置文件查看。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
     | dfs.ha.namenodes.hacluster                     | 可在"hdfs-site.xml"配置文件查看。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
     | dfs.namenode.rpc-address.hacluster.3           | 可在"hdfs-site.xml"配置文件查看。 说明： 此参数的IP地址可在MRS集群的FusionInsight Manager页面，选择"集群 \> 服务 \> HDFS \> 实例"查看对应NamNode实例的IP地址。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
     | dfs.namenode.rpc-address.hacluster.4           | 可在"hdfs-site.xml"配置文件查看。 说明： 此参数的IP地址可在MRS集群的FusionInsight Manager页面，选择"集群 \> 服务 \> HDFS \> 实例"查看对应NamNode实例的IP地址。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
     | dfs.client.failover.proxy.provider.hacluster   | 可在"hdfs-site.xml"配置文件查看。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
     | hive.version                                   | Hive版本。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
     | hive.server2.thrift.sasl.qop                   | 可在"hive-site.xml"配置文件查看。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
     | hive.server2.authentication                    | 认证类型，在集群连接页面查看。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
     | hive.server2.authentication.kerberos.principal | 可在"hive-site.xml"配置文件查看。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
     | hive.metastore.kerberos.principal              | 可在"hive-site.xml"配置文件查看。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
     | hadoop.kerberos.principal                      | 获取"hadoop.kerberos.principal"参数值方法： - 方法一： 1. 登录MRS集群的Manager页面。  2. 选择"系统 \> 权限 \> 用户"进入用户页面获取用户。  3. 单击"域和互信"，进入域和互信页面获取"本端域"。  4. 参数值为：用户名+本端域。    - 方法二： 1. 以**root**用户登录MRS客户端所在节点。  2. 进入安装客户端路径。 ``` cd /opt/Bigdata/client/ ```   3. 加载环境变量。 ``` source bigdata_env ```   4. 执行kinit命令进行用户认证，获取参数值。 ``` kinit 用户名 ``` ![](https://support.huaweicloud.com/usermanual-cloudtable/zh-cn_image_0000002603589933.png "点击放大")      |
     | hive.version                                   | Hive版本。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
     | fs.defaultFS                                   | 可在"core-site.xml"配置文件查看。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
     | hadoop.rpc.protection                          | 可在"core-site.xml"配置文件查看。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
     | obs.access_key                                 | 访问OBS桶的AK，获取方式请参见的[获取访问密钥（AK/SK）](https://support.huaweicloud.com/usermanual-ca/ca_01_0003.html)章节。 说明： obs.access_key可以访问到底层数据文件。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
     | obs.secret_key                                 | 访问OBS桶的SK，获取方式请参见的[获取访问密钥（AK/SK）](https://support.huaweicloud.com/usermanual-ca/ca_01_0003.html)章节。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
     | obs.endpoint                                   | OBS桶的Endpoint，获取方式请参见的[获取终端节点](https://support.huaweicloud.com/obs_faq/obs_faq_0124.html)章节。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
     | obs.region                                     | OBS桶所在的Region。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
        
     1. 以root用户登录MRS客户端所在节点（Master1节点）。
     
     2. 进入client目录下，显示出MRS的全部组件，目前使用的组件有HDFS和Hive组件。
        ```
        cd /opt/Bigdata/client/
        ```
        ![](https://support.huaweicloud.com/usermanual-cloudtable/public_sys-resources/note_3.0-zh-cn.png)
        HDFS组件中包含了"core-site.xml"、"hdfs-site.xml"配置文件，Hive组件中包含了"hive-site.xml"配置。
        
     
     3. 进入组件中的配置文件查看参数。
        1. HDFS组件查看。
           ```
           cd ./HDFS/hadoop/etc/
           ```
           进入hadoop目录：
           ```
           cd hadoop
           ```
           查看"hdfs-site.xml"配置文件，查找相关参数：
           ```
           cat hdfs-site.xml
           ```
           
        
        2. 查看Hive组件中的"hive-site.xml"配置文件，查找相关参数：
           ```
           cat /opt/Bigdata/client/Hive/config/hive-site.xml
           ```
           
         
      
   
   
   
   
 
#### 步骤三：查询数据映射表
1. 查看Catalogs。 
   ```
   show catalogs;
   ```
   ![](https://support.huaweicloud.com/usermanual-cloudtable/zh-cn_image_0000002603501031.png "点击放大")
   
   
2. 执行以下命令查询Catalog下面的数据库。 
   ```
   show databases from Catalog名称;
   ```
   ![](https://support.huaweicloud.com/usermanual-cloudtable/zh-cn_image_0000002603712765.png)
   
   
3. 切换到指定的Catalog。 
   ```
   switch Catalog名称;
   ```
   
   
4. 查看Catalog中指定的数据库和表。 
   - 查看指定的数据库
     ```
     show tables from `Catalog名称`.`数据库名称`;
     ```
     
   
   - 查看指定的表
     ```
     select * from `Catalog名称`.`数据库名称`.`表名称`;
     ```
     
   
   
   ![](https://support.huaweicloud.com/usermanual-cloudtable/public_sys-resources/note_3.0-zh-cn.png)
   **use database;**命令只适用于数据表较少的测试场景，生产集群请谨慎使用。如果数据表较多，使用此命令会加载所有表信息，容易造成Hive MetaStore压力剧增影响MRS生产环境。
   
   
 
