通过一款插件动态观察ES分片如何分布

本文介绍了Elasticsearch的基本概念,包括索引、类型、文档、分片和副本等。通过搭建一个包含三个节点的ES集群,探讨了分片如何在集群中分布,以及在不同节点关闭情况下集群的健康状态变化。同时,文章解析了请求访问ES时数据路由的规则,包括写请求和读请求的处理流程,帮助理解ES的数据分布和查询机制。
摘要由CSDN通过智能技术生成

1 文章概述

1.1 ES基本概念

(1) 索引(Index)

类比关系型数据库概念:数据库(database)

(2) 类型(Type)

类比关系型数据库概念:表(table),类型这个概念已经逐步被官方弱化,7.X不再支持自定义类型,默认类型是_doc,在类型弱化之后也可以把索引(Index)类比为表

(3) 文档(Document)

类比关系型数据库概念:行(row)

(4) 分片(Shard)

类比于关系型数据库分库后数据分片,当一个索引数据量过大时,可以将一个索引拆分为多个数据集合,每一个数据集合只有一部分数据,这种数据集合称为分片

(5) 副本(Replica)

主分片可以有一个或多个副分片,副本有两个作用:第一可以承担读流量,提高系统吞吐量。第二可以提高可用性,如果主分片出现问题,副分片可以晋升为主分片

(6) 集群(Cluster)

一个节点资源是有限的,当数据量和流量达到超过单节点负载时,可以将多个节点组成一个集群,共同承担流量

1.2 两个问题

根据上述概念提出两个问题:

  • 一个集群有三个节点,订单索引有三个分片,每个分片有两个副本,这些分片如何分布在集群

  • 当请求访问ES集群,怎么确定数据在哪一个节点,哪一个分片

2 环境搭建

为了回答上述问题我们首先搭建实验环境,本次实验使用windows环境,ES 7.11版本。

2.1 集群搭建

ES官网下载64位版本并分别解压到文件夹:

  • es-node-1

  • es-node-2

  • es-node-3

编辑文件 es-node1/config/elasticsearch.yml

 

# 集群信息 cluster.name: java-front-cluster # 节点信息 node.name: es-node-1 node.master: true node.data: true network.host: localhost http.port: 8001 # 通信端口

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值