ES 2.3 中我在哪里设置index.merge.scheduler.max_thread_count?在elasticsearch.yml中没有找到它或者我应该将它添加到配置文件中吗?
任何以 开头的 Elasticsearch 设置都index.
旨在作为索引级别设置,这意味着针对每个索引(例如,在模板中)。任何以 开头的设置indices.
都旨在成为集群级别设置,这意味着elasticsearch.yml
.
在 Elasticsearch 5.0(撰写本文时尚未index.
发布)之前,您可以在 中设置 -type 设置elasticsearch.yml
,但这是一种陷阱行为,因为您可能会忘记在一个文件中设置它。
因此,在索引设置中设置它:
PUT /my-index/_settings
{
"index.merge.scheduler.max_thread_count" : 1
}
Run Code Online (Sandbox Code Playgroud)
您可以为所有现有索引设置它:
PUT /_settings
{
"index.merge.scheduler.max_thread_count" : 1
}
Run Code Online (Sandbox Code Playgroud)
一个常见的问题是:为什么这不是一个全局设置?这是因为您设置了一个全局模板来控制这些类型的属性:
PUT /_template/my_default_settings
{
"template" : "*",
"settings" : {
"number_of_shards" : 2,
"index.merge.scheduler.max_thread_count" : 1
}
}
Run Code Online (Sandbox Code Playgroud)
但更重要的是,通过作为索引级别设置,它使您能够随着索引所在节点上的硬件变化而动态更改它。例如,当创建索引时,它很可能需要被写入最多,但随着时间的推移,它可能不会被频繁写入,因此可以将其移动到合并调度程序需要的更大但较慢的节点被控制。在这样的示例中,您只想在移动后设置线程计数,从而允许理论上更快(但更小)的机器尽可能快地合并。
归档时间: |
|
查看次数: |
4850 次 |
最近记录: |