架构师系列-搜索引擎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"
        }
    }
}    
相关推荐
lkbhua莱克瓦2417 小时前
Java基础——方法
java·开发语言·笔记·github·学习方法
q***718518 小时前
海康威视摄像头ISUP(原EHOME协议) 摄像头实时预览springboot 版本java实现,并可以在浏览器vue前端播放(附带源码)
java·前端·spring boot
_Jimmy_18 小时前
JUC包里的同步组件主要实现了AQS的哪些主要方法
java
范纹杉想快点毕业18 小时前
《嵌入式开发硬核指南:91问一次讲透底层到架构》
java·开发语言·数据库·单片机·嵌入式硬件·mongodb
大G的笔记本18 小时前
Java常见设计模式面试题(高频)
java·开发语言·设计模式
老鼠只爱大米18 小时前
Java设计模式之建造者模式(Builder)详解
java·设计模式·建造者模式·builder·23种设计模式
笃行客从不躺平19 小时前
线程池原理复习
java·开发语言
weixin_4487717219 小时前
SpringMVC执行流程源码分析之二
java
A尘埃19 小时前
大模型应用python+Java后端+Vue前端的整合
java·前端·python
皮皮林55120 小时前
MinIO 不再“开放”,RustFS 能否成为更优选择?
java