我对elastic search是个新手。我在设置生产环境上做POC。我需要帮助来做这件事。
1)设置环境时需要考虑哪些生产参数?
3)设置生产就绪环境需要哪些水印?
有两个进程正在运行实时服务器(提高性能例如:性能20到40毫秒),批处理服务器(提高吞吐量。例如:在1小时内,1台服务器将为200笔交易提供服务)。
实时服务器将有8个专用服务器节点。Batch Process将有12台服务器。
如何在实时服务器和批量节点之间分发请求,保证批量过程中不影响实时服务器的性能。如何在不影响性能的情况下扩展应用程序。
单机实时交易25万/小时(我们有8台在线服务器)单机批量处理1MN/小时(我们有8台批量服务器)
上述设置生产环境的场景需要满足哪些条件?
发布于 2016-10-27 14:55:33
首先,我想说一定要阅读Elasticsearch:关于生产部署的权威指南章节:https://www.elastic.co/guide/en/elasticsearch/guide/current/deploy.html
影响所需设置和部署拓扑的因素太多,无法提供详尽的答案。为3亿条推文建立索引并为其提供服务与3亿篇科学论文有很大不同。全文搜索与数字聚合和分析有很大的不同。真正确定的唯一方法是你测试它(并监控它!),使用尽可能接近真实的数据和访问模式。
此外,我对您的“批处理”和“实时”服务器有一点困惑,但您有几个用于混合工作负载的选项。为了获得最佳隔离,请使用两个完全独立的集群。或者,如果您对“批处理”和“实时”有单独的索引,但希望能够将索引从“实时”移动到“批处理”,则可以使用Shard Allocation Filtering来控制每个索引的碎片所在的服务器。这将分离数据,在许多情况下这就足够了。好消息是,这些规则可以动态更改,ES将在您的分片之间移动以进行匹配。
根据您的工作负载,如果“实时”请求命中“批处理”客户端节点,客户端(协调器)角色可能会遇到麻烦,在这种情况下,将一个或多个客户端(无数据)节点分配为仅服务于“实时”请求(将您的“活动”应用程序定向到这些节点),而将另一个节点分配给仅服务于“批处理”请求(将您的“批处理”应用程序定向到这些节点)可能很有用。您在此处的选择还取决于客户端的类型。
不幸的是,您的问题非常普遍,答案必须是“用您的特定工作负载测试它”。
https://stackoverflow.com/questions/40277225
复制相似问题