架构师系列-搜索引擎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"
        }
    }
}    
相关推荐
wrx繁星点点2 分钟前
事务的四大特性(ACID)
java·开发语言·数据库
IT学长编程9 分钟前
计算机毕业设计 Java酷听音乐系统的设计与实现 Java实战项目 附源码+文档+视频讲解
java·spring boot·毕业设计·课程设计·毕业论文·音乐系统·计算机毕业设计选题
IT学长编程26 分钟前
计算机毕业设计 基于协同过滤算法的个性化音乐推荐系统的设计与实现 Java实战项目 附源码+文档+视频讲解
java·spring boot·毕业设计·毕业论文·协同过滤算法·计算机毕业设计选题·个性化音乐推荐系统
小小娥子31 分钟前
Redis的基础认识与在ubuntu上的安装教程
java·数据库·redis·缓存
几何心凉39 分钟前
已解决:org.springframework.web.HttpMediaTypeNotAcceptableException
java
华农第一蒟蒻41 分钟前
Java中JWT(JSON Web Token)的运用
java·前端·spring boot·json·token
两点王爷43 分钟前
使用WebClient 快速发起请求(不使用WebClientUtils工具类)
java·网络
计算机学姐1 小时前
基于SpringBoot+Vue的高校运动会管理系统
java·vue.js·spring boot·后端·mysql·intellij-idea·mybatis
平凡的小码农1 小时前
JAVA实现大写金额转小写金额
java·开发语言
一直在进步的派大星1 小时前
Docker 从安装到实战
java·运维·docker·微服务·容器