Accumulo的文档清楚地预计,所有ZooKeeper服务器都应该在ZooKeeper和client.conf中的设置instance.zookeeper.host中列出。一个负载平衡的ZooKeeper主机名是否足以满足这些设置中的任何一个(或两者)?还是有理由选择所有ZooKeeper主机的显式列表?我希望它们实际上是相当的--不仅在最初运行方面,而且在一个相当大的集群的性能上。
Accumulo文档没有详细说明它对列出的每个ZooKeeper服务器具体做了什么。如果它只是自己进行负载平衡,那么我应该可以提供一个负载平衡主机名。如果还有其他魔法的话,我会感激你的洞察力。
我正在尝试将Accumulo和一些相关服务与领事服务网集成在一起。领事向已配置的服务提供内部DNS解析,例如zookeeper.service.mydatacenter.consul,,它通过随机排序所有此类主机的返回IP地址来提供基本的负载平衡。在所有ZooKeeper主机上配置Accumulo至少有几个选项,但它们会遇到一些复杂的问题,我宁愿避免。例如,使用一组静态的“泛型”主机名不允许我们轻松地更改Zookeeper集群的大小,或者使用Consul动态地列出ZooKeeper节点,这就需要处理滚动的Accumulo集群重新启动(这会带来大量复杂的问题)。我也愿意接受其他建议。
备注:这个问题并不是专门针对领事服务网格的,因为它只是我用来进行负载平衡的机制(或者用于列出ZooKeeper服务器)。我最感兴趣的是用一个负载平衡的ZooKeeper主机名配置Accumulo的优缺点。
发布于 2019-08-10 20:42:57
ZooKeeper服务器作为一个协调组运行,该组作为一个整体根据服务器之间的协商一致在任何给定时间确定字段的值。如果有一个5节点的ZooKeeper实例正在运行,那么所有5个服务器名称都是相关的。您不应该简单地将它们视为5个冗余的1节点实例。Accumulo和其他ZooKeeper客户端实际上使用列出的所有服务器。关于https://zookeeper.apache.org的更多信息
https://stackoverflow.com/questions/57437510
复制相似问题