繁体   English   中英

在创建分片之前,Elasticsearch是否检查集群中可用的节点数(如果选择了默认分片大小)

[英]Does Elasticsearch check for the number of nodes available in the cluster before creating the shards(in cases when default shard size is selected)

我有在它单个节点集群..我曾与默认碎片大小创建的索引A(即,在文件elasticsearch.yml index.number_of_shards的值:1)。 当我列出所有碎片时,我可以看到索引A的单个碎片。 在此之后我改变index.number_of_shards的值:4 elasticsearch.yml然后创建的另一个索引B中 再一次,当我列出集群中的所有分片时,我只能看到为索引B创建的单个分片,而不是4个分片。 Elasticsearch是否在创建索引和分配分片之前检查集群中存在的节点总数(在我的情况下,在创建索引B时我没有指定任何分片数量,因此我希望总共创建4个分片作为我的索引)。 你能帮我吗?

不推荐使用elasticsearch.yml上的索引配置,而是希望通过此配置传递索引设置/映射。

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

curl -XPUT 'http://localhost:9200/twitter/' -d '{
"settings" : {
    "index" : {
        "number_of_shards" : 3, 
        "number_of_replicas" : 2 
    }
}

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

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

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM