【发布时间】:2017-01-30 16:07:47
【问题描述】:
据我了解,建议使用奇数个动物园管理员,如此处Using Zookeeper with Solr but only have 2 servers 所述。
我想知道对于一定数量的 solr 实例,推荐的 zookeeper 数量是多少。
假设我想知道 x solr 实例需要多少个 zookeeper 实例?
谢谢
【问题讨论】:
标签: solr
据我了解,建议使用奇数个动物园管理员,如此处Using Zookeeper with Solr but only have 2 servers 所述。
我想知道对于一定数量的 solr 实例,推荐的 zookeeper 数量是多少。
假设我想知道 x solr 实例需要多少个 zookeeper 实例?
谢谢
【问题讨论】:
标签: solr
通常 - 如果您有相当数量的服务器,5 通常是一个不错的数字。更多的服务器意味着更少的写入性能,但读取性能稍好。 5 很好,因为它允许您移除要升级的服务器,同时仍然拥有一个健康的集群。
- 如何确定 ZooKeeper 集合(集群)的大小?
通常在确定 ZooKeeper 服务节点的数量时 部署(一个整体的大小)你需要考虑 可靠性,而不是性能。
可靠性:
单个 ZooKeeper 服务器(独立)本质上是一个协调器 没有可靠性(单个服务节点故障会导致 ZK 服务)。
一个 3 server ensemble(你需要跳到 3 而不是 2,因为 ZK 有效 基于简单多数投票)允许单个服务器发生故障 并且该服务仍然可用。
因此,如果您想要可靠性,请至少选择 3 个。我们通常建议 在“在线”生产服务环境中拥有 5 台服务器。这个 允许您停止使用 1 台服务器(例如计划维护) 并且仍然能够承受其中一个意外中断 没有中断服务的剩余服务器。
性能:
随着您添加 ZK 服务器,写入性能实际上降低,而 read performance increases modestly.
查看此页面以查看 Patrick Hunt (http://twitter.com/phunt) 所做的调查 查看独立服务器和 大小为 3 的集合。您会注意到,单核机器运行 独立的 ZK 集成(1 个服务器)仍然能够处理 15k 每秒请求数。这比什么大几个数量级 大多数应用程序需要(如果他们正确使用 ZooKeeper - 即 作为协调服务,而不是作为数据库的替代品, 文件存储、缓存等...)
即您的集群的大小并不是真正的限制因素,但更重要的是您总共将对 Zookeeper 进行多少查询(而不是 Solr 中的查询)。在这种情况下,除非您进入一个非常专业的域,否则您可能不会遇到任何问题。
【讨论】:
方程:2n+1
其中 n 是要处理的最大节点故障数。假设如果最多 2 个 zookeeper 节点出现故障,您想保持 zookeeper 集群服务正常运行。您应该考虑集群中的(2*2+1)=5 个 Zookeeper 实例(ZooKeeper 集成)。
【讨论】: