Elasticsearch 5.x 基本概念

1、Cluster(集群)

  当同一网段(或可以ping通的)下,当集群的名称相同即可通过discover模块组成集群。集群名称在eaalsticsearch.yml中的cluster.name中进行配置,若不进行配置默认为”elasticseaarch”。

2、Node(节点)

一个elasticsearh集群由一个或多个Node组成,并且参与数据的索引和提供查询能力。节点的名称在eaalsticsearch.yml中的node.name进行配置,若不进行配置则会使用一个随机的UUID进行标识。

3、Index(索引)

索引是一组具有类似特征的文档集合,可以类比为数据库(虽然官方不建议这样类比),但是要求index的名称必须小写。

4、Type(类型)

    类比为数据库的表。

5、Document(文档)

    文档是可以被索引的基本信息单元,类比为数据库的每一条数据。文档是用JSON表示的。

 

6、Shard & Replicas(分片和副本)

  1、Shard

索引可以存储大量数据,这些数据可以超过单个节点的硬件限制。例如,一个索引10亿文档占用1TB的磁盘空间的索引可能不适合单个节点的磁盘,或者可能太慢,不能单独地为单个节点提供搜索请求。为了解决这个问题,Elasticsearch提供了将你的索引细分为多个碎片的能力。当您创建一个索引时,您可以简单地定义您想要的碎片数量。每个切分本身都是一个功能齐全且独立的“索引”,可以在集群中的任何节点上托管。并且一个碎片是如何分布的,以及它的文档如何被聚合到搜索请求中,这是由Elasticsearch完全管理的,对用户来说是透明的。

分片拥有两个最重要的特性:


    1)、它允许你水平地分裂/缩放你的数据
    2) 、它允许你跨切分(可能在多个节点上)分发和并行化操作,从而提高性能和吞吐量。

  2、Replicas

   在网络环境或者云服务器环境中,节点故障是正常的,并且在发生故障之后需要一个故障转移机制,以防止脱离集群的节点的数据丢失。为此,Elasticsearch允许为分片设置备份,称为副本。并且副本应该具有以下两个特征:

    1)、由于可能会配置多个副本,但是复制副本必须在原始分片上进行复制。

    2)、允许扩展搜索量和吞吐量,因为搜索可以在所有副本上并行执行。

  3、Shard & Replicas原理

      1、分片的本质(副本也属于分片)

当我们对数据进行索引时,其索引本身就是一个或多个物理分片的集合名称。 Shard(或replicas)是底层的工作单元,并且只保存的全部数据中的一部分。一个分片底层就是一个Lucene实例,所以一个分片就是有一个完整的搜索引擎。

Elasticsearch 是利用分片将数据分发到集群内各处的。分片是数据的容器,文档保存在分片内,分片又被分配到集群内的各个节点里。当你的集群规模扩大或者缩小时,Elasticsearch 会自动的在各节点中迁移分片,使得数据仍然均匀分布在集群里。索引内任意一个文档都归属于一个主分片,所以主分片的数目决定着索引能够保存的最大数据量。并且副本的数量可以在服务运行时动态修改,但是分片已经创建(并进行数据的索引)则不能进行修改。那么主分片的个数设置就特别的重要,下面是主分片的存储数据的能力(当然我们还需要结合使用的硬件,文档的大小和复杂程度,索引和查询文档的方式以及你期望的响应时长等因素考虑):

   LUCENE-5843标准,一个分片最大可以存储: 2,147,483,519 (= Integer.MAX_VALUE - 128) 文档可以使用 _cat/shards API进行查看。

 

  Es中默认5个分片1个副本,可以使用elasticsearch.yml进行配置,也可以使用api进行配置:

PUT /my_index_name
{
   "settings" : {
      "number_of_shards" : 5,
      "number_of_replicas" : 1
   }
}


  那么肯定会有很多的疑问,为了避免单节点故障,我们肯定会在生产中使用集群配置,那当集群节点性能瓶颈需要增加机器时,会不会对运行的集群服务及数据产生影响,内部数据怎么进行平均分配。当集群中某节点故障,会不会造成数据丢失,怎么进行恢复。 

    2、节点扩容(提升性能)

  当服务为单节点时,使用head等插件查看集群为yellow状态,这是因为没有为分片设置副本。主分片的数目在索引创建时就已经确定。这个数目定义了这个索引能够 存储 的最大数据量。在集群环境中,当服务性能遇到瓶颈时,已经不能再修改分片数量,那么只能用通过增加节点数和副本数以提高性能。

        1)、 若服务为的每个节点上拥有多个分片还没有达到一个节点一个分片,那种可以使用增加集群节点的方式将每个节点的分片数再进行分配,那么每个节点上拥有的分片数会减少,每个分片拥有的cpu、内存等资源就会增加,以提高性能。

        2)、可以增加副本数量以增加分片的数量,但是增加副本的同时,需要增加节点的数量。否则处理数据的分片(lucene实例)增加,但是会同时去争抢相同多个资源(cpu、内存、io等),那么性能也是一样的。当然其缺点就是增加了更多的冗余数据。动态增加副本的方式如下:

PUT /blogs/_settings
{
   "number_of_replicas" : 2
}


    3、节点故障 

  副本与分片不能在同一node上,否则当某一节点故障后,数据就会丢失。这样当某一节点故障,集群中的其他节点有该故障分片的副本,则数据不会丢失,再进行数据的重新分配,并均衡节点的数据。

  当故障节点恢复时,首先会尝试去重用它们,同时仅从主分片复制发生了修改的数据文件,在进行数据的调整。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
ES 文件浏览器是一款多功能的手机文件/程序/进程管理器,可以在手机、电脑、远程和蓝牙间浏览管理文件。是一个功能强大的免费的本地和网络文件管理器和应用程序管理器。适用2.0以上Android机型。ES文件浏览器是一个能管理安卓设备本地、局域网共享、远程FTP、蓝牙设备和云存储的系统工具类移动软件。全球主动下载超过2亿次,安卓文件管理第一品牌。 ES 文件浏览器 ES File Explorer 中文版ES 文件浏览器 ES File Explorer 中文版 想更好地管理你的手机、平板、家里电脑和云端网盘?原生中文支持,全球上亿用户一致选择的最强安卓文件管理器! 点击就可以播放音乐,点击就可以播放视频,点击就可以查看图片,点击就可以阅读文档,点击就可以安装应用,点击就可以查看压缩,点击就可以进行搜索,点击就可以更改视图,还有海量的网盘空间可以存放数据。 ES 文件浏览器(ES File Explorer)主要功能: *快捷的工具栏操作 *管理手机及局域网计算机上的文件 *在本地和网络中搜索和查看文件 *安装/卸载/备份程序 *压缩/解压 *多选/缩略图/多种视图 *播放网络上的音乐、电影 *蓝牙 【基本信息】 作者:北京亿思创世信息技术有限公司 更新时间:2021-04-12 版本:4.2.4.5 系统:Android 2.2.x以上 语言:中文 ES 文件浏览器 软件特点 类似Windows的平易UI,多视图和排序,简单易用:点击安装程序即可安装,点击文档即可打开,点击媒体文件即可播放。 同时功能强大,高度可定制,多选、搜索、剪贴板的功能提供给资深用户使用; 网络和本地的统一的操作和UI,简单的复制和粘帖代替了文件上传、下载等专业概念; 丰富的系统管理功能,包括内存、进程、SD卡、计算机、手机系统的短信、通讯录、安全等; 文件管理功能:多种视图列表和排序方式,查看并打开各类文件,在本地SD卡、局域网、互联网的计算机之间任意传输文件。多选、复制、粘帖、剪贴板、查看属性、解压、重命名等文件功能; 程序管理功能:安装、卸载、备份程序、创建快捷方式等; 进程管理功能:查看、杀掉系统中运行的进程,有自动记忆等功能; 多媒体功能:内置文本编辑器,可查看文本;可使用系统内置的播放器查看音频视频;软件内置远程媒体播放器来远程播放计算机上的流媒体和其他视频音频文件,软件内置远程图片浏览器来远程浏览图片; FTP功能:可以通过3g、wifi、gprs等方式来访问远程的FTP服务器,远程查看图片、视频等多媒体文件; 局域网文件访问功能:可以通过wifi来访问局域网内的所有计算机,远程查看图片、视频等多媒体文件; 安全管理:加密、备份、短信远程控制等;

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值