要在主实例出现故障时提供到辅助 Hive Metastore 的故障转移,您需要知道如何在 Cloudera Manager 中添加 Metastore 角色并配置属性。
多个 HMS 实例以主动/主动模式运行。不发生负载平衡。HMS 客户端总是命中第一个实例,除非它关闭。在这种情况下,客户端会扫描hive.metastore.uris属性,该属性列出 HMS 实例列表以查找可用于替换的 HMS。如果hive.metastore.uri.selection设置为 SEQUENTIAL(推荐和默认),则第二个 HMS 是指定替换 ;否则,如果hive.metastore.uri.selection设置为 RANDOM,则从列表中随机选择替换 。
最低要求角色: 配置者(也由集群管理员、完全管理员提供)
- 在 Cloudera Manager 中,单击集群> Hive >配置。
- 采取以下措施之一:
- 如果您有一个由 Kerberos 保护的集群,请搜索 Hive 委托令牌存储,它指定 Kerberos 令牌的存储,如下所述。
- 如果您有一个不安全的集群,请跳过下一步。
3. 选择org.apache.hadoop.hive.thrift.DBTokenStore,然后保存更改。
Kerberos 委托令牌的存储由 hive.cluster.delegation.token.store.class属性定义。可用的选择是 Zookeeper、Metastore 和内存。Cloudera 建议通过设置 org.apache.hadoop.hive.thrift.DBTokenStore 属性来使用数据库。
- 单击实例>操作>添加角色实例
- 在分配角色中,在 Metastore 服务器中,单击选择主机。
- 在 Hosts Selected 中,滚动并选择要用作备份 Metastore 的主机,然后单击 OK。
- 单击继续,直到退出向导。
- 从“操作”菜单启动主机上的 Metastore 角色。
该hive.metastore.uris属性会自动更新。
- 要检查或更改hive.metastore.uri.selection 属性,请转到Clusters > Hive > Configurations,然后搜索 Hive Service Advanced Configuration Snippet (Safety Valve) for hive-site.xml。
- 添加属性和值(SEQUENTIAL 或 RANDOM)。
原文链接:https://docs.cloudera.com/cdp-private-cloud-base/latest/hive-metastore/topics/hive-hms-ha-configuration.html