
# 添加跨集群HetuEngine数据源
#### 操作场景
本章节指导用户在集群已启用Kerberos认证（安全模式）的情况下通过HSConsole界面添加另一个HetuEngine数据源。
#### 添加跨集群HetuEngine数据源操作步骤
1. 获取他域HetuEngine集群的代理用户的"user.keytab"文件。
   
   1. 登录他域HetuEngine集群Manager页面。
   
   2. 选择"系统 \> 权限 \> 用户"。
   
   3. 选择对应的数据源用户，在"操作"列中选择"更多 \> 下载认证凭据"。
   
   4. 从下载的文件中解压出来的"user.keytab"文件就是用户的凭据文件。
   
   
   
   
2. 使用HetuEngine管理员用户登录Manager页面，选择"集群 \> 服务 \> HetuEngine"，进入HetuEngine服务页面。
3. 在概览页签下的"基本信息"区域，单击"HSConsole WebUI"后的链接，进入HSConsole界面。
4. 选择"数据源"，单击"添加数据源"。在"添加数据源"页面填写参数。 
   1. 配置"基本配置"，填写数据源名称，"数据源类型"选择"HetuEngine"。
   
   2. 配置"HetuEngine配置"，参数配置请参考[表1]。
       表1HetuEngine配置 
      | 参数                                                                   | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            | 取值样例                 |
      |:---|:---|:---|
      | 驱动                                                                   | 默认"hsfabric-initial"。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         | hsfabric-initial     |
      | 用户名                                                                  | 开启安全模式时填写此参数。 访问远端HetuEngine的用户。就是[1]中获取"user.keytab"所属用户。                                                                                                                                                                                                                                                                                                                                                                                                                | hetu_test            |
      | keytab文件                                                             | 开启安全模式时填写此参数。 访问远端DataCenter的用户Keytab文件。在本地选择[1]k获取的"user.keytab"文件。                                                                                                                                                                                                                                                                                                                                                                                                      | user.keytab          |
      | 开启双向传输                                                               | 跨域数据传输是否开启双向传输，默认为"是"。 - 是：双向传输，请求通过本端的HSFabric将转发至远端的HSFabric，如果开启双向传输，需要配置本端HSFabric地址。  - 否，单向传输，请求直接发至远端的HSFabric。                                                                                                                                                                                                                                            | 是                    |
      | 本端地址信息                                                               | 本端MRS集群的HetuEngine服务负责对外通信的HSFabric实例的主机IP地址及端口号。 1. 登录本端集群FusionInsight Manager，选择"集群 \> 服务 \> HetuEngine \> 实例"，查看HSFabric的业务IP地址。  2. 单击"HSFabric"，选择"实例配置"，查看"server.port"的值，默认为"29900"。                                                                                                                                                                           | 192.162.157.32:29900 |
      | 远端地址信息                                                               | 远端MRS集群的HetuEngine服务负责对外通信的HSFabric实例的主机IP地址及端口号。 1. 登录远端集群FusionInsight Manager，选择"集群 \> 服务 \> HetuEngine \> 实例"，查看HSFabric的业务IP地址。  2. 单击"HSFabric"，选择"实例配置"，查看"server.port"的值，默认为"29900"。                                                                                                                            | 192.168.1.1:29900    |
      | 区域                                                                   | 当前请求发起方所属区域，只能包数字和下划线。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        | 0755_01              |
      | 接收超时时长(秒)                                                            | 等待接收数据的超时时长(单位：秒)。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            | 60                   |
      | Task总超时时长(秒)                                                         | 每个跨域Task执行的总超时时长(单位：秒)。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       | 300                  |
      | Worker节点使用Task数                                                      | 每个Worker节点接收数据时使用的Task数量。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     | 5                    |
      | 开启数据压缩                                                               | - 是：启动数据压缩。  - 否：不启动数据压缩。                                                                                                                                     | 是                    |
      | hsfabric.local.tenant 适用于MRS 3.3.0及以后版本 | 指定远端HetuEngine计算所使用的租户队列。 - 未配置该参数，系统会根据配置的用户，随机选择该用户所属的租户。  - 配置该参数，系统则会指定租户。适用于包括开启了租户的严格校验模式等场景。  - 若目标集群"tenant.strict.mode.enabled"参数的值为"true"时，此参数为必填项。 登录Manager，选择"集群 \> 服务 \> HetuEngine \> 配置 \> 全部配置"，搜索"tenant.strict.mode.enabled"，查看该参数的值。    | -                    |
         
      
   
   3. （可选）修改自定义配置。
      - 单击"增加"可以增加自定义配置参数。配置HetuEngine数据源自定义参数，参考[表2]。
         表2HetuEngine数据源自定义配置参数 
        | 名称                         | 描述                                                                                                                                                                                                                                               | 取值样例 |
        |:---|:---|:---|
        | hsfabric.health.check.time | 设置检测HSFabric实例状态的周期间隔，单位：秒。                                                                                                                                                                                                                      | 60   |
        | hsfabric.subquery.pushdown | 开启跨域查询下推参数，默认开启。 - true：开启跨域查询下推。  - false：不开启跨域查询下推。   | true |
           
        
      
      - 单击"删除"可以删除已增加的自定义配置参数。
       
   
   4. 单击"确定"。
   
   
   
   
5. 登录集群客户端所在节点，执行以下命令，切换到客户端安装目录，例如安装目录为"/opt/client"，具体以实际替换。 
   ```
   cd /opt/client
   ```
   执行以下命令配置环境变量。
   ```
   source bigdata_env
   ```
   执行以下命令进行用户认证。（集群未启用Kerberos认证（普通模式）时跳过此步骤）
   ```
   kinit HetuEngine组件操作用户
   ```
   
   
6. 执行以下命令，登录数据源的catalog。 
   ```
   hetu-cli --catalog 数据源名称 --schema 数据库名
   ```
   例如执行以下命令：
   ```
   hetu-cli --catalog hetuengine_1 --schema default
   ```
   
   
7. 执行以下命令，可正常查看数据库表信息或不报错即表示连接成功。 
   ```
   show tables;
   ```
   
   
 
#### 跨集群HetuEngine数据类型映射
目前HetuEngine数据源支持的数据类型为：BOOLEAN、TINYINT、SMALLINT、INT、BIGINT、REAL、DOUBLE、DECIMAL、VARCHAR、CHAR、DATE、TIMESTAMP、ARRAY、MAP、TIME WITH TIMEZONE、TIMESTAMP WITH TIME ZONE、TIME。
#### 性能优化
支持使用查询下推功能，提高查询速度。
查询下推功能默认打开，也可参考[4.c]添加相关自定义参数开启查询下推功能。
#### 添加跨集群HetuEngine数据源约束
- 不支持如下语法：CREATE、ALTER、DROP VIEW、INSERT OVERWRITE、UPDATE、DELETE。
- 不支持跨域数据源的INSERT操作。
 
