| |
|
开发:
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分布式原理 |
我们在创建索引的时候,只要指定主分片和副分片数量,elasticSearch会自动帮我们搭建分布式应用。这里要注意的是主分片数量一开始就要根据数据量设计好,因为索引一旦创建,主分片数量没法修改,但是副分片数量是可以修改的。 原理: 1.es和其他中间件?样,?如mysql,redis有master-slave模式。es集群也会选举?个节点做 为master节点 2.master节点它的职责是维护全局集群状态,在节点加?或离开集群的时候重新分配分?。 3.所有?档级别的写操作不会与master节点通信,master节点并不需要涉及到?档级别的变更 和搜索等操作,es分布式不太像mysql的master-slave模式,mysql是写在主库,然后再同步 数据到从库。?es?档写操作是分?上?不是节点上,先写在主分?,主分?再同步给副分 ?,因为主分?可以分布在不同的节点上,所以当集群只有?个master节点的情况下,即使 流量的增加它也不会成为瓶颈,就算它挂了,任何节点都有机会成为主节点。 4.读写可以请求任意节点,节点再通过转发请求到?的节点,?如?个?档的新增,?档通过 路由算法分配到某个主分?,然后找到对应的节点,将数据写?到主分?上,然后再同步到 副分?上。 写入数据流程: 说明:三个节点 节点1上是一个主分片R0和一个副分片P1? 节点2上是一个主分片P0和一个副分片R1? 节点3上是两个副分片R1,P1 1、客户端向node-1 master节点发送新增?档请求。 2、节点通过?档的路由算法确定该?档属于主分?-P0。因为主分?-P0在node-2,所以请求会转 发到node-2。 3、?档在node-2的主分?-P0上新增,新增成功后,将请求转发到node-1和node-3对应的副分 ?-R0上。?旦所有的副分?都报告成功,node-2向node-1报告成功,node-1向客户端报告成 功。 读数据流程: 客户端向node-1发送读取?档请求。 在处理读取请求时,node-1在每次请求的时候都会通过轮询所有的副本分?来达到负载均 衡。 |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
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 2:47:38- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |