| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 大数据 -> ElasticSearch 同城容灾调研 -> 正文阅读 |
|
[大数据]ElasticSearch 同城容灾调研 |
基础知识: 服务节点角色:master node,data node,client node 主节点负责集群状态管理,创建或者删除索引,分配分片等操作,选主需满足quorum原则 数据节点负责存储数据 客户端节点负责处理路由请求,处理搜索,分发索引操作 数据存储结构: 索引:文档存储集合 分片:一个索引由一个或者多个分片组成,分片分布在集群各处,扩展了索引存储能力和读写性能,分片分为主分片和副本分片,同一分片的主副分片不能在一个节点 ? ? ? ?分片数量不可更改,单个分片的文档数量21亿 ? ? ? ?海量分片不可行,每个节点会分配到过多分片,抢占资源效率低下 副本:为主分片的拷贝,分布在集群中,可以提供搜索操作,可以在主分片所在集群故障时成为主分片,提供读写操作,有效防止数据丢失 别名:可以给索引配置别名,读取别名可以多个索引共用一个,写入别名则只可以一对一设置 reindex:重新索引,可以修改字段类型,也可用于同步 集群健康状态: green??所有的主分片和副本分片都正常运行 yellow?所有的主分片都正常运行,但不是所有的副本分片都正常运行 red??有主分片没能正常运行 同城跨机房部署集群 一、双节点,主节点数据节点统一 机房A 机房B 内网域名 主节点/数据节点 主节点/数据节点 主分片a 副本分片a 数据同步 ? 单个机房挂掉之后,集群仍然可用,但是专线断连会出现脑裂问题 二、三个机房,主节点数据节点分离 机房A 机房B 内网域名 数据节点 数据节点 主分片a 副本分片a 数据同步 主节点 主节点 机房C 主节点 ? 可以解决脑裂问题,但是需要多一个机房部署主节点 三、双机房,三个主节点 机房A 机房B 内网域名 数据节点 数据节点 主分片a 副本分片a 数据同步 主节点 主节点 主节点 ? 机房A挂掉时,机房B集群可以正常提供服务 机房B挂掉时A因为无法选主,需要人工接入重建节点才可提供服务 双集群双写 在客户端连接两个机房的es集群,写入时同时写入两个集群,查询时就近访问搜索索引数据 对客户端要求较高,需要重做写入逻辑,改造成本过高 也可以通过写入成功后发送消息的方式,进行异步双写,需要实现消费服务,而且可能出现数据一致性问题 ? 双集群同步 一、双活CCR跨集群复制? ES cluster1 ES cluster2 CCR CCR 机房1 机房2 index-a index-a-2-follwer index-a index-a-1-follwer APP save to index-a APP save to index-a query from index-a* query from index-a* CCR为ES的白金授权所具有的功能,可以进行集群数据同步,实时性比较好,可以支持数据修改的同步 同步索引的跟随者为只读,可以在主集群故障时脱离跟随着身份,转为可读写 说明:
二、logstash\reindex 该方法与CCR结构类似 logstash基于索引遍历实现,比较适合日志类数据(不做修改),因为该方式无法实现数据更新的同步,而且有一定延迟,会出现数据落后情况 reindex 基于es reindex接口,可以实现集群到集群的数据同步,不过该方法只会在目标索引创建文档,所以对于数据的修改无法同步 三、双活with snapshot/restore 支持增量备份 ES cluster1 ES cluster2 机房1 机房2 index-a index-a APP save to index-a APP save to index-a query from cluster1 and cluster2 query from cluster2 and cluster1 ES cluster1 snapshot ES cluster2 ? 说明:
负面:
|
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/24 9:49:39- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |