架构师系列-搜索引擎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"
        }
    }
}    
相关推荐
雪碧聊技术2 分钟前
大模型爆火!Java后端如何抓住Agent全栈开发的风口
java·大模型·agent·全栈开发
逻辑驱动的ken1 小时前
Java高频面试场景题25
java·开发语言·深度学习·面试·职场和发展
AI人工智能+电脑小能手2 小时前
【大白话说Java面试题】【Java基础篇】第32题:Java的异常处理机制是什么
java·开发语言·后端·面试
爱吃土豆的马铃薯ㅤㅤㅤㅤㅤㅤㅤㅤㅤ3 小时前
通过java后端代码来实现给word内容补充格式文本内容控件,以及 设置控件的标记和标题
java·c#·word
無限進步D4 小时前
Java 面向对象高级 接口
java·开发语言
逸Y 仙X5 小时前
文章二十七:ElasticSearch ES查询模板(Search Template)高效复用实战
java·大数据·数据库·elasticsearch·搜索引擎·全文检索
二哈赛车手5 小时前
新人笔记---Spring AI的Advisor以及其底层机制讲解(涉及源码),包含一些遇见的Spring AI的Advisor缺陷问题的解决方案
java·人工智能·spring boot·笔记·spring
AC赳赳老秦5 小时前
接口测试自动化:用 OpenClaw 对接 Postman,实现批量回归测试、测试报告自动生成与推送
java·人工智能·python·算法·elasticsearch·deepseek·openclaw
两年半的个人练习生^_^5 小时前
Java日志框架和使用、日志记录规范
java·开发语言·开发规范