架构师系列-搜索引擎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"
        }
    }
}    
相关推荐
超级大只老咪几秒前
数组相邻元素比较的循环条件(Java竞赛考点)
java
小浣熊熊熊熊熊熊熊丶5 分钟前
《Effective Java》第25条:限制源文件为单个顶级类
java·开发语言·effective java
毕设源码-钟学长17 分钟前
【开题答辩全过程】以 公交管理系统为例,包含答辩的问题和答案
java·eclipse
啃火龙果的兔子20 分钟前
JDK 安装配置
java·开发语言
星哥说事21 分钟前
应用程序监控:Java 与 Web 应用的实践
java·开发语言
派大鑫wink26 分钟前
【JAVA学习日志】SpringBoot 参数配置:从基础到实战,解锁灵活配置新姿势
java·spring boot·后端
xUxIAOrUIII1 小时前
【Spring Boot】控制器Controller方法
java·spring boot·后端
Dolphin_Home1 小时前
从理论到实战:图结构在仓库关联业务中的落地(小白→中级,附完整代码)
java·spring boot·后端·spring cloud·database·广度优先·图搜索算法
醇氧1 小时前
org.jetbrains.annotations的@Nullable 学习
java·开发语言·学习·intellij-idea
Java&Develop1 小时前
Aes加密 GCM java
java·开发语言·python