使用 nohup 或 disown 如果你要让某个进程运行在后台。

如何把compound的segment改成普通的?

Elasticsearch | 作者 kin | 发布于2017年10月30日 | 阅读数:3645

最近ES集群空间爆了(到了85%),清理空间之后,服务正常了,但是查询变得很慢,很容易发生reject,而且cpu使用率超高。我查看了segment,发现很多都是compound的,是否是这个引起的?如何把compound文件变成普通的?我设置了index.compound_format与index.compound_on_flush,但好像都没用
已邀请:

kennywu76 - Wood

赞同来自: kin

这些设置都是针对早期ES版本的,2.0以后已经去掉了这些设置。 ES会平衡 性能vs文件描述的消耗,使用了小文件用compound格式,大文件non-compound的策略。 简单说,新创建的segment因为比较小,比较多,就使用compound格式,一来性能没什么损耗,二来可以节约大量的文件描述符。 当后台merge发生以后,小segment 被merge成大segment了,就采用non-compound格式,用来提高性能,又不会浪费很多文件描述符。
 
你说的查询很慢的问题,一般和compound关系不大,需要从其他方面着手调查。

要回复问题请先登录注册