Teng's blog Teng's blog
首页
Java
H5前端
GitHub (opens new window)
首页
Java
H5前端
GitHub (opens new window)
  • 认知

  • 入门

  • 环境

  • 进阶

    • 核心概念
    • 系统架构
    • 单节点集群
    • 故障转移
    • 水平扩容
    • 应对故障
    • 路由计算
    • 分片控制
    • 写操作流程
    • 数据读流程
    • 更新操作流程
    • 批量操作流程
    • 倒排索引
    • 文档搜索
    • 文档刷新-刷写-合并
    • 文档分析-分词器
    • 文档控制
    • 文档展示-kibana
  • 框架集成

  • 优化

  • 面试题

  • Database-Elasticsearch
  • 进阶
Shetengteng
2022-01-29

分片控制

假设有一个集群由三个节点组成

  • 包含一个叫 emps 的索引
  • 有两个主分片,每个主分片有两个副本分片
  • 相同分片的副本不会放在同一节点

创建emps索引

在 Postman 中,向 ES 服务器发 PUT 请求

PUT http://localhost:1001/emps
1

body

{
    "settings":{
        "number_of_shards":2,
        "number_of_replicas":2
    }
}
1
2
3
4
5
6

reponse

{
    "acknowledged": true,
    "shards_acknowledged": true,
    "index": "emps"
}
1
2
3
4
5

可能的分片组织形式

通过 elasticsearch-head 插件查看集群情况,集群是一个有三个节点和一个索引的集群

当发送请求到集群中的任一节点。每个节点都有能力处理任意请求。每个节点都知道集群中任一文档位置,所以可以直接将请求转发到需要的节点上

在下面的例子中,若将所有的请求发送到Node 1001(用户可以访问任何一个节点获取数据),称为协调节点(coordinating node)

注意

当发送请求的时候, 为了扩展负载,更好的做法是轮询集群中所有的节点

Last Updated: 2022/04/10, 13:57:31
路由计算
写操作流程

← 路由计算 写操作流程→

Theme by Vdoing | Copyright © 2021-2022 Shetengteng | MIT License
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式