架构师系列-搜索引擎ElasticSearch(七)- 集群管理之分片

集群健康检查

Elasticsearch 的集群监控信息中包含了许多的统计数据,其中最为重要的一项就是集群健康,它在 status字段中展示为 green(所有主分片和副本分片都正常)、yellow(所有数据可用,有些副本分片尚未分配,集群功能完全)或者 red(该状态下数据已经丢失,有主分片没能正常运行)。

可以通过以下命令查看集群的状态

bash 复制代码
GET /_cluster/health

分片验证

验证一个分片

创建一个名为test的索引,让它有一个分片,看看结果

bash 复制代码
put test {

    "settings": {
        "index": {

            "number_of_shards": "1",
            "number_of_replicas": "0"
        }
    }
}    

可以使用cerebro来查看分片的情况

验证两个分片

bash 复制代码
put test1 {

    "settings": {
        "index": {

            "number_of_shards": "2",
            "number_of_replicas": "0"
        }
    }
}    

可以使用cerebro来查看分片的情况

验证四个分片

bash 复制代码
put test2 {

    "settings": {
        "index": {

            "number_of_shards": "4",
            "number_of_replicas": "0"
        }
    }
}    

可以使用cerebro来查看分片的情况

验证副本

验证一个主分片,2个副本分片

bash 复制代码
put test3 {

    "settings": {
        "index": {

            "number_of_shards": "1",
            "number_of_replicas": "2"
        }
    }
}    

可以使用cerebro来查看分片的情况

验证一主分片,3个副本分片

bash 复制代码
put test4 {

    "settings": {
        "index": {

            "number_of_shards": "1",
            "number_of_replicas": "3"
        }
    }
}    

可以使用cerebro来查看分片的情况

此时有一个副本分片是无法分配的,此时集群状态会是yellow。一个分片不能同时在一个节点上,因此会出现这个问题,不过集群还是能正常运行。

默认分片

默认是创建一个主分片,一个副本分片

bash 复制代码
PUT test5 {
    "settings": {
        "index":{
        }
    }
}

默认方式在数据量大的时候是不推荐的,因为数据写的压力全都在主分片所在的节点上。

分片与副本组合

两副本两分片

bash 复制代码
put test6 {

    "settings": {
        "index": {

            "number_of_shards": "2",
            "number_of_replicas": "2"
        }
    }
}    

三分片两副本

bash 复制代码
put test7 {

    "settings": {
        "index": {

            "number_of_shards": "3",
            "number_of_replicas": "2"
        }
    }
}    
相关推荐
Elasticsearch7 小时前
如何通过 Claude Code 来写入 CSV 数据到 Elasticsearch
elasticsearch
唐青枫10 小时前
Java JDBC 实战指南:从 Connection 到事务和连接池
java
一个做软件开发的牛马11 小时前
MyBatis-Plus 从零实战:完整搭建可运行 Demo,BaseMapper 零 SQL、Wrapper 条件构造、分页插件与代码生成器详解
java·后端
用户37215742613511 小时前
Java 处理 PDF 图片:提取 PDF 中的图片,并压缩 PDF 图片体积
java
用户37215742613511 小时前
Java 打印 Word 文档:从基础打印到高级设置
java
用户3521802454751 天前
当 Prompt 学会"热更新":Spring Boot × Nacos3 AI 实战
java·spring boot·ai编程
东坡白菜1 天前
破局全栈:一个前端开发的Java入门实战记录(1)
java·全栈
唐青枫1 天前
Java Tomcat 实战指南:从 Servlet 容器到 Spring Boot 部署
java
wsaaaqqq1 天前
roudan:自由选择实体、灵活操作数据、快速写入数据库的 Java 框架
java
plainGeekDev1 天前
null 判断 → Kotlin 可空类型
android·java·kotlin