步骤1)创建一个名为“ NODE1”的节点
第2步)在名为“应用程序”的NODE1中创建新索引,并在索引类型中为“测试”
第3步)创建的索引包含5个分片。没有副本
步骤4)现在我在索引中插入5个文档。它将分成5个碎片
第5步)现在,我在NODE1的集群中启动名为“ NODE2”的新节点。
步骤6)根据我的理解,它在节点之间共享分片。所以我的2个分片移到了新节点
问题1)现在我请求位于重定位分片(从NODE1移到NODE2的分片)中的NODE1处的文档
问题2)我的搜索是否会返回我要求的文件
问题3)两个节点如何相互通信
问题4)我可以在NODE2中读写吗?如果是,我可以从NODE1中搜索由NODE2写入的相同数据。
提前致谢..!
所有的答案都是肯定的:)
节点通过传输端口(默认为9300端口)(或第一个空闲的(9300-9400]范围内的端口)相互通信。它们根据对象的序列化使用自定义二进制协议进行通信(不是标准的Java序列化)多数情况下)。
集群中的任何节点都可以感知集群,并且知道分片在哪里等等,因为它们都共享所谓的集群状态。您可以将请求(读取和写入)发送到任何节点,然后将其重新路由到感兴趣的节点,并根据请求的类型正确执行。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句