Elasticsearch 路由与分片分配全解析
1. 测试路由
为了直观展示 Elasticsearch 如何分配分片以及特定文档放置在哪个分片上,我们可以使用额外的插件。这里推荐安装 Paramedic 插件,操作步骤如下:
bin/plugin -install karmi/elasticsearch-paramedic安装完成后,重启 Elasticsearch,然后在浏览器中访问http://localhost:9200/_plugin/paramedic/index.html,就能看到包含各种统计信息和索引信息的页面。对于我们的示例,最值得关注的是指示集群状态的集群颜色,以及每个索引旁边的分片和副本列表。
接下来,启动两个 Elasticsearch 节点,并创建一个索引,具体命令如下:
curl -XPUT 'localhost:9200/documents' -d '{ "settings": { "number_of_replicas": 0, "number_of_shards": 2 } }'此操作创建了一个没有副本、由两个分片组成的索引。这意味着最大集群只能有两个节点,除非增加副本数量,否则后续节点无法填充数据。
随后,我们要索引一些文档,使用以下命令:
curl -XPUT localho