IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: 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作为搜索引擎,当数据量太大,会导致单节点无法满足容量和查询。所以需要集群来提升整体容量和查询容量。

elasticsearch自动的分布所有数据和查询负载到所有的可用节点。 无需改造应用,elasticsearch知道如何平衡多个节点以提供扩展性和高可用。

文档->分片->节点

索引其实是一个逻辑上的概念,包括了一个或多个物理的分片,每一个物理的分片是一个独立的索引。通过将一个索引中的文档分布到多个分片中,将这些物理分片又分布到各个节点。 ?

es既保证了数据冗余,又保证了增加查询容量,数据冗余保护了硬件失效,将一个节点加入到集群中可以增加查询容量。

elasticsearch自动迁移分片以重新平衡整个集群。分片有两种类型:主分片和副本分片。 一个索引中的每一个文档属于一个主分片。副本分片是主分片的复制。副本分片提供了冗余,不仅保护了硬件失效带来的数据丢失,而且增加了读请求的容量。

当索引被创建时候,主分片的个数就已经被确定下来,而副本分片的数量可以在不中断索引或查询操作的情况下进行随时更改。

分片的大小和数量,是需要进行权衡取舍的。分片的数量越多,维护这些分片的开销就越大。分片的大小越大,在集群重平衡时候迁移时间就越长。

查询多个小一些的分片可以在处理每一个分片更快,但是越多的查询就意味着更多的开销,所以查询小数量的分片也可以更快。所以这是一个矛盾和取舍。

为了保持平均的分片大小,范围在几个GB到几十GB。对于基于时间的数据,一般是每个分片为20GB至40GB。

避免很多个分片的问题,一个节点中的分片个数在可用的堆空间中是相对的。 作为一个通用的规则,堆空间内的每个GB数据的分片个数应小于20。

https://www.elastic.co/cn/elasticon/conf/2016/sf/quantitative-cluster-sizing

一个集群中的各个节点需要好的且可靠的连接。为了提供更好的连接,可以将一个数据中心或多个相近的数据中心合并为一处。为了维持高可靠,避免单点故障。

当一个地区停电等事件发生,在另外的地区需要有能接管的能力。如何做呢?使用跨集群复制技术(Cross-cluster replication,CCR)。CCR提供一种方式自动从一个主的集群同步索引到另外一个从的远处的集群,可以作为主集群的一个热备。如果主集群失败,从集群可以接管。也可以使用CCR技术为临近的地理空间提高读请求,同时为用户提供服务。

跨集群复制是主从模式。在主集群中的索引是主要的索引,处理着写请求。通过CCR复制到从集群的索引都仅仅是只读的。

总结:

elasticsearch和redis有一些不同,redis集群是使用插槽来进行分配数据的,一共有16384个。

当redis增加或者减少节点,需要手动进行迁移数据,且无法自动分布所有数据,会有偏移或者倾斜,过多数据集中在一个节点上。

而elasticsearch却是自动迁移数据,且自动的分布所有数据和查询负载到所有的可用节点。

  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2021-12-24 18:32:57  更:2021-12-24 18:33:58 
 
开发: 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 11:24:13-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码