更新时间:2024-11-29 GMT+08:00

Hive支持MetaStore根据组件隔离

操作场景

此功能用于限制集群内组件连接指定的Hive MetaStore实例,组件默认可连接所有MetaStore实例。

目前集群中支持连接MetaStore的组件有HetuEngine、Hive、Loader、Metadata、Spark、Flink,此功能适用于限制各组件服务端连接的MetaStore实例,支持在MetaStore中统一分配。

  • 此功能仅限制各组件服务端访问的MetaStore实例,元数据未隔离。
  • 暂不支持Flink,Flink任务均使用客户端配置,仍可连接所有MetaStore实例,不支持统一配置。
  • 使用spark-sql执行任务时客户端直接连接MetaStore,隔离后需要更新客户端才可生效。
  • 此功能仅支持同集群内隔离,HetuEngine不同集群部署的场景不支持统一配置,需要修改HetuEngine配置实现连接指定的MetaStore实例。
  • 配置隔离时,考虑可用性,建议组件最少配置两个MetaStore实例。

前提条件

集群已安装Hive服务,且服务运行正常。

操作步骤

  1. 登录FusionInsight Manager页面,选择“集群 > 服务 > Hive > 配置 > 全部配置”,搜索配置项“HIVE_METASTORE_URI”。
  2. 其中“HIVE_METASTORE_URI_DEFAULT”配置项的值即为所有MetaStore实例的URI连接串。

  3. 需要配置组件连接指定MetaStore时,复制2中的参数值,按组件名称修改对应配置项,保存后重启对应组件。

    以Spark为例,限制Spark仅可连接Hive服务中两个MetaStore实例。
    1. 登录FusionInsight Manager页面,选择“集群 > 服务 > Hive > 配置 > 全部配置”,搜索配置项“HIVE_METASTORE_URI”。
    2. 复制“HIVE_METASTORE_URI_DEFAULT”的默认配置到Spark的URI配置项,若Spark仅需要连接两个MetaStore实例,则根据需要仅保留两个节点信息(具体以实际为准),单击“保存”。

    3. 选择“集群 > 服务 > Spark > 实例”,勾选配置过期的实例,选择“更多 > 重启实例”,在弹出对话框输入密码,单击“确定”,重启实例。