在弹性搜索中重新定位分片

时间:2014-01-31 17:31:45

标签: elasticsearch

步骤1)创建名为“NODE1”的节点

步骤2)在NODE1中创建名为“application”的新索引,在索引类型中创建“testing”

步骤3)创建的索引包含5个分片。没有复制品

步骤4)现在我将5个doc插入到索引中。它将在5个分片中分割

步骤5)现在我在NODE1的群集中启动名为“NODE2”的新节点。

步骤6)根据我的理解,它共享节点之间的分片。所以我的2个分片移动到新节点

问题1)现在我在NODE1请求文件,该文件存在于重新定位的分片中(从NODE1移动到NODE2的分片)

问题2)我的搜索是否会返回我要求的文件

问题3)两个节点如何相互通信

问题4)我可以在NODE2中读写吗?如果是,我可以从NODE1中搜索由NODE2写的相同数据。

先谢谢..!

1 个答案:

答案 0 :(得分:1)

所有答案都是肯定的:)

节点通过传输端口相互通信,默认为9300端口(或第一个在(9300-9400)范围内免费。它们使用自定义二进制协议进行通信,基于对象的序列化(非标准)在大多数情况下,java序列化虽然)。

群集中的任何节点都可识别群集,并且知道分片的位置等等,因为它们都共享所谓的群集状态。您可以向任何节点发送请求(读取和写入),并将其重新路由到有趣的节点,并根据请求的类型正确执行。