惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Vercel News
Vercel News
博客园 - 【当耐特】
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
小众软件
小众软件
Hugging Face - Blog
Hugging Face - Blog
aimingoo的专栏
aimingoo的专栏
WordPress大学
WordPress大学
G
Google Developers Blog
博客园 - 叶小钗
大猫的无限游戏
大猫的无限游戏
P
Proofpoint News Feed
J
Java Code Geeks
U
Unit 42
云风的 BLOG
云风的 BLOG
阮一峰的网络日志
阮一峰的网络日志
N
Netflix TechBlog - Medium
宝玉的分享
宝玉的分享
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
D
Docker
V
Visual Studio Blog
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
H
Help Net Security
V
V2EX
T
Tailwind CSS Blog

浮华生

Elasticsearch 检索性能优化 - 浮华生 舆情监控系统综述 - 浮华生 2024 半年度总结 - 浮华生 2023 年终总结 - 浮华生 异地机器组网方案 - 浮华生 Kubernetes 部署 Elasticsearch 和 Kibana - 浮华生 2022 年终总结 - 浮华生 RabbitMQ connection channel 的关系 - 浮华生 Kafka Java 客户端 Producer 原理分析 - 浮华生 RabbitMQ 和 Kafka 应用原理简单对比 - 浮华生 阿里云 OpenSearch 介绍 - 浮华生 Golang Array 和 Slice 区别 - 浮华生 Mac OS 下打造 golang nvim 编程环境之基础配置 - 浮华生 电商搜索技术总结 - 浮华生 电商搜索业务总结 - 浮华生 2021 年终总结 - 浮华生 Cypress 实践总结 - 浮华生 年终总结 - 浮华生 关于我 - 浮华生 使用 cucumber 进行行为驱动开发(BDD) - 浮华生 微服务应用集成 SpringCloud 步骤 - 浮华生 电商搜索数据同步方案 - 浮华生 通过一道数值转换题重温计算机补码 - 浮华生 macOS 系统推荐的一些软件 - 浮华生 DevOps 实施规划(持续更新) - 浮华生 rabbitmq 如何提高可靠性并保证消费端幂等 - 浮华生 AMQ Model总结 - 浮华生 结对编程 - 浮华生 RSocket 介绍 - 浮华生 面向对象的理解 - 浮华生
elasticsearch 集群容错 - 浮华生
浮华生 · 2019-05-24 · via 浮华生

Q:有三台服务器,三个 Primary Shard怎么配置能使 ElasticSearch 达到高可用

在此之前应该先清楚 shard 、primary shard 、replica shard、node 的概念

还有 primary shard 在确定好个数后后期是无法更改的,能扩容的只有 replica shard。

三个 Primary Shard 的意思就是:

3 primary + 3 replica = 6 shard (默认情况下)

此时服务器的 node 分配如下:

一台服务器宕机

此时整个 ES 集群是能够正常提供服务的,但是健康值会降到 yellow 状态

两台服务器宕机

此时你会发现剩下的一台服务器上只会有一个 primary shard 和 一个 replica shard 节点,此时集群状态是 red 转态。

怎么去分配能够使两台机器宕机后仍能正常使用?

设置更多的 replica shard

既然 primary shard 初始化后不能再扩容了,那么可以扩容 replica shard。

如下图,每台机器上不论是 primary 还是 replica shard 都保持了均与分布的状态,此时两台机器宕机后 ES 集群会自动将剩余的节点全都置位 primary shard。其内部原理将会在后面讲到。

总结

虽然 replica shard 可以在后期调整,但是最佳的做法就是在确认架构的时候,而不是发现问题后再进行补救。