ES的一些基本概念

1.文档 (document )

  • ES是面向文档的,文档是所有数据可搜索数据的最小单位,类似数据表里面的一条记录。下面的例子都是文档。
    • 日志文件的日志项
    • 一篇PDF文档的具体内容
  • 文档会被序列化为JSON格式,保存在ES里面。
    • JSON对象由字段组成。
    • 每个字段都有具体的类型,如字符串,数值,布尔,日期,范围类型。字段的类型,可以自己指定,也可以由ES自动推算出来。数据支持数组,支持嵌套。
  • 每个文档都有一个唯一的id
    • 可以自己指定
    • 也可以由ES生成

1.1 文档的元数据

用于标注文档的相关信息

  • _index:文档所属的索引
  • _type: 文档所属的类型名,7.0之后只能有一个type,_doc
  • _id:文档的唯一id
  • _source:文档的原始json数据
  • _all:整合所有内容到该字段
  • _version:文档的版本信息
  • _score:相关性打分。

2.索引(index)

  • 类相似文档的集合,是一类文档的集合, 索引体现了逻辑的概念。
  • shard(分片)是物理空间的概念,索引里面的数据分散放在shard的上面。
  • 索引的mapping,用于定义文档的字段和类型。
  • 索引的setting,用于定义数据的分布。
  • 索引和关系型数据库的对比
RDBMS ES
table(表) index(索引)
row (一条记录) document(文档)
column (列) field(一个字段)
schema(创建语句) Mapping(字段和类型定义配置)
sql (查询语言) DSL(查询语言)
支持事务,JOIN操作 查询,搜索,评分关联计算。

3.分布式系统的可用性与扩展性

  • 高可用性
    • 服务可用性,允许有节点停止服务
    • 数据可用性 - 部分节点丢失,不会丢失数据
  • 可扩展性
    • 请求量提升/数据的不断增长的时候将数据分布到不同的节点上。

ES的分布式架构

  • 不同的集群通过不同的名字区分,默认名字『elasticsearch』
  • 通过修改配置文件,或者在命令运行 -E cluster.name=xxx进行设定
  • 一个集群可以有多个节点。

4. 节点

  • 一个ES的实例
    • 是一个java进程
    • 一台机器上可以运行多个ES,但是生成环境一个机器上最好只运行一个。
  • 节点有自己的名字,可以修改配置文件或者启动的时候 -E node.name=xxx指定
  • 每一个节点启动后,会分配一个UID,保存在data目录下。

4.1 Master-eligible Node和Master Node

  • 每个节点启动后,默认就是Master-eligible节点
    • 可以设置node.master:false禁止
  • Master-eligible节点可以参选主流程,成为Master节点。
  • 当第一个节点启动的时候,会将自己选举成为Master节点,只有Master节点才能修改集群状态信息
    • 集群状态指的是维护一个集群必要的信息,比如所有节点的信息,所有的索引和其相关的mapping和settting设置, 分配的路由信息。
  • 这样的设定是为了避免信息导致数据的不一致性。

4.2 data node和coordinating node

data node:保存数据,负责保存分配数据,对数据扩展起到非常强大的作用。
coordinating node:负责接收客户端请求,将请求分发到合适节点,最终汇总结果。每一个节点默认都起到 coordinating node这个作用。

4.3其他节点

  • Hot & Warm Node:不同硬件配置node,用来实现冷热架构,降低集群的部署成本。
  • Machine Learning Node:负责跑机器学习的Job,做异常检测处理,

4.4 配置节点的类型

  • 开发环境一个节点可承担多个角色
  • 生成环境中,应该设置单一的角色节点。
节点类型 配置参数 默认值
master eligible node.master true
data node.data true
ingest node.ingest true
coordinating only 默认是开启,需要仅仅启动,把其他的全部设置为false
machine learning node.ml true (enable x-pack)

5分片

  • 主分片(Primary Shard)解决数据水平扩展的问题,通过主分片,将数据分布到集群内的所有节点上面。
    • 一个分片是一个运行的Lucene的实例
    • 主分片数在索引创建的时候指定,以后不可以改,除非重新索引。
  • 副本分片(Replica Shard),解决数据的高可用问题,是主分片的拷贝。
    • 副本分配数,可以动态的调整。
    • 增加副本数,可以提高读取的吞吐量,提高服务可用性。

5.1分配的设定

生产环境提前做好容量规划

  • 分片数设置过小
    • 后续无法增加节点实现水平扩展
    • 单个分片数据量过大,数据重新分配耗时。
  • 分片数设置过大,(7.0默认主分片设置为1,解决了over-shading问题)
    • 影响搜索结果的相关性打分,影响统计结果的准确性。
    • 单个节点上过多的分配,导致资源浪费,影响性能。

5.2查看集群状况

GET _cluster/health
  • Green:主分片和副本都正常工作。
  • Yellow:主分片全部正常,有副本分配未这个词分配
  • Red:有主分片未能分配。(磁盘量不足的时候创建索引)
settting.png
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 227,156评论 6 529
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 97,866评论 3 413
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 174,880评论 0 373
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 62,398评论 1 308
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 71,202评论 6 405
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 54,743评论 1 320
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 42,822评论 3 438
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 41,962评论 0 285
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 48,476评论 1 331
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 40,444评论 3 354
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 42,579评论 1 365
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 38,129评论 5 355
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 43,840评论 3 344
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 34,231评论 0 25
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 35,487评论 1 281
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 51,177评论 3 388
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 47,568评论 2 370