我在使用Elasticsearch时遇到了一些困难。顺便说一句,我将Elasticsearch作为Windows服务运行。
值得注意的是:
c:\downloads>ver
Microsoft Windows [Version 10.0.17763.503]
c:\downloads>SCHTASKS /Create /SC MINUTE /MO 1 /TN mydir /TR "dir c:\windows > c:\downloads\temp_w.txt"
WARNING: The task name "mydir" already exists. Do you want to replace it (Y/N)? y
y
SUCCESS: The scheduled task "mydir" has successfully been created.
c:\downloads>schtasks /run /tn mydir
SUCCESS: Attempted to run the scheduled task "mydir".
c:\downloads>dir temp_w.txt
Volume in drive C has no label.
Volume Serial Number is ECC7-1C96
Directory of c:\downloads
File Not Found
时,索引从黄色变为红色需要很长时间。我跑了_cat/indices
,发现了以下内容:
_cluster/stats?human&pretty
我的问题:
更新:我相信我已经分配了太多的碎片。
所以我修改后的问题是:
答案 0 :(得分:3)
在Elasticsearch的1个节点上拥有793个主要分片是很大的 NO 。 Elasticsearch规模来自其分布式性质。另外,我注意到您没有任何副本,因此也不可靠。如果某些主要分片已损坏,则在这种情况下它们没有任何恢复机制。
提到您的问题,我应该缩小到多少个碎片?
那么,如果您具有大数据(超过100 GB),则完全取决于您的要求,应将其拆分为多个主分片,并将它们放置在多个节点上以提高性能(由小分片大小和另一个硬件获得),并且提供水平可伸缩性(HS)。
但是,如果您的数据很小,即总索引大小为几GB,那么具有多个分片的数据也会损害性能,因为您的分片将只有少量数据,而将所有数据存储在一个分片中将大大提高性能。在这种情况下。
有关分片策略的详细信息,请参阅this指南。
您可以使用提供的链接https://www.elastic.co/guide/en/elasticsearch/reference/current/indices-shrink-index.html用户The_Pingu减少分片的数量,但这还取决于所使用的ES版本。我建议,在走那条路之前,您应该考虑以下架构方面。
答案 1 :(得分:1)
如果您在一台计算机上运行elasticsearch,我会说是的,这是一个很大的危险信号。您应该能够使用1个分片来做您想做的事。 看到那里更多细节: Multiple shards on single machine performance