首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在创建碎片之前,弹性搜索是否检查集群中可用的节点数量(在选择默认碎片大小的情况下)

在创建碎片之前,弹性搜索是否检查集群中可用的节点数量(在选择默认碎片大小的情况下)
EN

Stack Overflow用户
提问于 2017-02-23 06:08:39
回答 2查看 142关注 0票数 0

我有一个只包含一个节点的集群。我已经创建了一个具有默认碎片大小的索引elasticsearch.yml A(即在文件中,index.number_of_shards: 1的值)。当我列出我的所有碎片时,我可以看到索引A的单个碎片。之后,我在elasticsearch.yml中更改了index.number_of_shards: 4的值,然后创建了另一个索引B。同样,当我列出集群中的所有碎片时,我只能看到为索引B创建的单个碎片,而不是4个碎片。在创建索引和分配碎片之前,弹性搜索是否检查集群中存在的节点总数(在我的示例中,我在创建索引B时没有指定任何碎片,因此我期望为我的索引总共创建4个碎片)。你能帮我做这个吗?

EN

回答 2

Stack Overflow用户

发布于 2017-02-23 07:23:47

elasticsearch.yml上的索引配置被废弃,而倾向于在索引设置/映射上传递此配置。

因此,您必须做的是从elasticsearch.yml文件中删除索引配置,并使用索引设置或模板传递它们。来自弹性医生:

代码语言:javascript
复制
curl -XPUT 'http://localhost:9200/twitter/' -d '{
"settings" : {
    "index" : {
        "number_of_shards" : 3, 
        "number_of_replicas" : 2 
    }
}

使用这种方法,您可以为每个索引创建不同的配置。

注意: elasticsearch.yml是elasticsearch的“全局”/静态配置文件,在启动期间读取,如果您更改它,它不会影响当前运行的实例。

票数 0
EN

Stack Overflow用户

发布于 2017-02-23 18:53:36

在创建索引和分配碎片之前,弹性搜索是否检查集群中存在的节点总数

不是的。它将很高兴地为同一节点上的同一索引创建多个碎片。很可能在更改elasticsearch.yml之后没有重新启动ES。它不是实时读取的,因此对它的任何更改都需要重新启动才能生效。

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

https://stackoverflow.com/questions/42408281

复制
相关文章

相似问题

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