# 配置Hive访问跨集群的HBase数据
#### 操作场景
Hive on HBase即是允许用户通过Hive的SQL接口查询和操作存储在HBase中的数据，将HBase的高效存储和实时读写能力与Hive的SQL查询能力相结合，提供了一种灵活且高效的数据处理方式。
Hive支持访问和处理存储在同一集群内的HBase中的数据，也支持访问和处理跨集群互信中的HBase数据。即在两个开启Kerberos认证的互信集群中，使用Hive集群操作HBase集群，将目的端HBase集群的HBase关键配置项配置到源端Hive集群的HiveServer中。
#### 前提条件
两个开启Kerberos认证的安全集群已完成跨集群互信配置，具体操作请参见[配置MRS集群间互信](https://support.huaweicloud.com/usermanual-mrs/mrs_01_0354.html)。
#### 跨集群配置Hive on HBase
1. 下载HBase配置文件到本地，并解压。 
   1. 登录目的端HBase集群的Manager界面，选择"集群 \> 服务 \> HBase"。
   
   2. 选择"更多 \> 下载客户端"。
      图1下载HBase客户端   
      ![](https://support.huaweicloud.com/cmpntguide-lts-mrs/zh-cn_image_0000002733347894.png "点击放大") 
   
   3. 在下载客户端页面，客户端类型选择"仅配置文件"，单击"确定"下载HBase配置文件到本地。
      图2下载HBase配置文件   
      ![](https://support.huaweicloud.com/cmpntguide-lts-mrs/zh-cn_image_0000001724747169.png) 
   
   
   
   
2. 登录源端Hive集群的Manager。
3. 选择"集群 \> 服务 \> Hive \> 配置 \> 全部配置"进入Hive服务配置页面，选择"HiveServer（角色） \> 自定义"修改HiveServer角色的"hive-site.xml"自定义配置文件，增加HBase配置文件的如下配置项。 
   可从已下载的HBase客户端配置文件的"hbase-site.xml"文件中，搜索并添加如下配置项及其取值到HiveServer中。
   例如，客户端配置文件压缩包为"FusionInsight_Cluster_1_HBase_Client.tar"，解压后得到"FusionInsight_Cluster_1_HBase_ClientConfig_ConfigFiles.tar"，继续解压该文件，最后进入客户端配置文件解压路径的"HBase\\config"下，获取到"hbase-site.xml"文件。
   表1Hive on HBase配置参数 
   | 参数名称                                     | 参数描述                                                                                                                                                                                                                                                                      |
   |:---|:---|
   | hbase.security.authentication            | 用于设置HBase所在集群的安全认证方式。 - kerberos：表示集群启用了Kerberos认证。  - simple：表示集群未启用Kerberos认证。                          |
   | hbase.security.authorization          | 用于设置HBase是否启用鉴权功能。 - true：HBase会启用基于角色或权限的访问控制，以确保用户或应用程序只能访问其被授权的表或数据。  - false：HBase不会执行权限检查，所有用户都可以访问所有HBase表和数据。   |
   | hbase.zookeeper.property.clientPort   | 用于指定HBase集群与Zookeeper集群之间通信所使用的客户端端口号，即HBase客户端连接Zookeeper服务时使用的端口。                                                                                                                                                                                                      |
   | hbase.zookeeper.quorum                 | 用于指定HBase集群连接的Zookeeper服务的地址列表，域名需要转换为IP地址。                                                                                                                                                                                                                              |
   | hbase.regionserver.kerberos.principal | 访问HBase RegionServer的keytab文件对应的principal。                                                                                                                                                                                                                              |
   | hbase.master.kerberos.principal       | 访问HBase HMaster的keytab文件对应的principal。                                                                                                                                                                                                                                  |
      
   图3HiveServer角色的自定义配置   
   ![](https://support.huaweicloud.com/cmpntguide-lts-mrs/zh-cn_image_0000001724867041.png "点击放大")
   
   
4. 修改参数配置后，单击"保存"，根据界面提示操作后，等待配置保存成功。 
   MRS 3.6.0-LTS及之后版本，该参数动态生效，不需要重启Hive服务。
   
   
5. MRS 3.6.0-LTS之前版本，Hive服务端配置更新后，如果"配置状态"为"配置过期"，则需重启组件以使配置生效。 
   图4修改Hive配置   
   ![](https://support.huaweicloud.com/cmpntguide-lts-mrs/zh-cn_image_0000002346425794.png "点击放大")
   在Hive服务概览页面，选择"更多 \> 重启服务/滚动重启服务"，验证管理员密码后，等待服务重启成功。
   ![](https://support.huaweicloud.com/cmpntguide-lts-mrs/public_sys-resources/warning_3.0-zh-cn.png)
   组件重启期间将无法对外提供服务，可能会影响集群的上层业务正常运行，请在业务空闲期或确认操作无影响后再执行本操作。
   
   
 
