首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >我在ES2.3中将index.merge.scheduler.max_thread_count设置在哪里?

我在ES2.3中将index.merge.scheduler.max_thread_count设置在哪里?
EN

Stack Overflow用户
提问于 2016-06-07 20:22:25
回答 1查看 4.5K关注 0票数 0

我在ES2.3中将index.merge.scheduler.max_thread_count设置在哪里?没有在elasticsearch.yml中找到它,还是应该将它添加到配置文件中?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-06-07 21:10:25

任何以index.开头的Elasticsearch设置都是作为索引级别设置的,这意味着每个索引(例如,在模板中)。任何以indices.开头的设置都是群集级设置,这意味着elasticsearch.yml

在使用ElasticSearch5.0之前(本文撰写时not发布),您可以在elasticsearch.yml中设置index.-type设置,但这是一种可悲的行为,因为您可能忘记在一个文件中设置它。

因此,在索引设置中设置它:

代码语言:javascript
运行
复制
PUT /my-index/_settings
{
  "index.merge.scheduler.max_thread_count" : 1
}

您可以为所有现有索引设置它:

代码语言:javascript
运行
复制
PUT /_settings
{
  "index.merge.scheduler.max_thread_count" : 1
}

一个常见的问题是:为什么这不是一个全球性的环境?这是因为您设置了一个全局模板来控制这些属性:

代码语言:javascript
运行
复制
PUT /_template/my_default_settings
{
  "template" : "*",
  "settings" : {
    "number_of_shards" : 2,
    "index.merge.scheduler.max_thread_count" : 1
  }
}

但是更重要的是,通过作为索引级别的设置,它使您能够在索引所在的节点上硬件发生变化时动态地更改它。例如,在创建索引时,很可能需要将索引写入最多的节点,但随着时间的推移,写入的频率可能不会太高,因此可以将其移动到需要控制合并调度程序的较大但速度较慢的节点。在这样的例子中,您只希望在线程数量移动之后设置它,从而允许理论上更快(但更小)的机器尽可能快地合并。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37688631

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档