Elasticsearch集群上的路由是自动的吗?

米特切普斯

我使用的是完全默认的ES设置,并在我的本地网络上启动并运行了一个节点。因此,我从以下一个节点开始:

http://10.10.1.1:9200

并得到...

$ curl -XGET 'http://10.10.1.1:9200/_cluster/health?pretty=true'
{
  "cluster_name" : "elasticsearch",
  "status" : "green",
  "timed_out" : false,
  "number_of_nodes" : 1,
  "number_of_data_nodes" : 1,
  "active_primary_shards" : 5,
  "active_shards" : 10,
  "relocating_shards" : 0,
  "initializing_shards" : 0,
  "unassigned_shards" : 0
}

我在启动第二个实例

http://10.10.1.2:9200

现在,它起作用了,他们彼此看到了,节点的数量增加了,自动发生了惊人的ES魔术,太好了!但是现在我仍然只能ping ...

$ curl -XGET 'http://10.10.1.1:9200/myindex/mytype/1'

...并且请求将被定向到/ both /节点?那就是:我是否需要更改任何其他设置,以使第一个端点在负担过重时将工作分配给第二个服务器,还是第一个自动成为一种将任务分配给其余集群的路由器?

我想了解我需要什么配置,以便可以在仅ping通单个URL的同时启动n个实例,并使工作分配到最佳状态。

奥利·克鲁克申克(Olly Cruickshank)

它是自动的-通常您不需要做任何进一步的事情。

索引分为碎片,并且碎片分布在您拥有的节点上。添加节点时,ES将自动重新分配碎片。

数据根据_id的哈希值分配给索引中的分片。在此请求中:

curl -XGET 'http://10.10.1.1:9200/myindex/mytype/1'

您已指定_id(1),以便ES可以将请求直接转发到包含数据的分片。如果您尚未指定_id(即,您正在查询数据),则向其发送请求的节点将:

  1. 将请求转发到所有分片
  2. 等待他们的回应
  3. 汇总响应
  4. 发回给请求的客户

有关更多信息,请参见路由文档

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

ElasticSearch rest客户端会自动发现集群节点吗?

如何在Amazon EC2上设置具有自动扩展功能的ElasticSearch集群?

angularjs 路由是如何工作的?

在多用途(即非专用)集群上运行 Elasticsearch 有什么缺点吗?

服务器路由是使用流星/铁路由器进行AJAX响应的正确方法吗

Docker上的Consul集群自动引导

S3 上的 Elasticsearch 集群备份

在不同的VPS上设置ElasticSearch集群

ElasticSearch 中的“from”参数会影响 ElasticSearch 集群吗?

在Google Cloud上的哪里配置Kubernetes集群自动缩放器?

elasticsearch中的文档会自动删除吗?

在kubernetes上运行Elasticsearch集群时的堆大小

如何使用Datadog监视弹性云上的ElasticSearch集群?

将jaeger与Kubernetes集群上的Elasticsearch后端存储连接

如何在Elasticsearch集群上最大化CPU核心

如何列出Elasticsearch集群上的所有存储脚本?

elasticsearch 在正在运行的集群上应用安全性

多台机器上的Elasticsearch集群-主选举

如何在Jelastic上设置elasticsearch集群?拒绝连接

Openstack 实例上的 Elasticsearch 7 无法设置 ES 集群

GKE上的联合Kubernetes集群中的HPA +集群自动缩放器+ OPA

将节点添加到AWS上的kubernetes集群吗?

laravel的路由是否足以防御文件遍历攻击?

当 Route::fallback 存在时检查路由是否存在

命名空间路由是否需要目录结构?

使用Route :: is()检查路由是否为主页

使用MVC Router判断路由是否存在

MaterialApp中路由是否需要添加頁面

我可以在与目标集群不同的集群上运行Kubernetes Dashboard吗