Elasticsearch基础知识——集群、节点、索引、分片

Elasticsearch基础知识——集群、节点、索引、分片

集群

一个集群是有多个节点组成的集合,集群有一个唯一的名称作为标识,节点通过设置集群名称就可以加入相应的集群。
config/elasticsearch.yml配置信息如下:

cluster.name: es-6.5.2-test   #集群唯一标识名称,注意唯一性免得跟别人的集群混在一起

node.name: node-es-101     #节点名字

network.host: 0.0.0.0       #修改一下ES的监听地址,这样别的机器也可以访问
http.port: 9200             #端口号,默认就好


# 增加新的参数,这样head插件可以访问es
http.cors.enabled: true 
http.cors.allow-origin: "*"

节点

一个节点就是一个 Elasticsearch 服务(实例),可以实现存储数据,索引并且搜索的功能。每个节点都有一个唯一的名称作为身份标识,并通过设置集群名称加入到集群。

索引

Elasticsearch 中的索引就是是一种数据存储集合,用于存储文档数据。类似于MYSQL的database数据库的概念。

分片

将一个索引的数据划分多个分片,默认5个。分片数据可以分布于集群的各个节点。如下图:
Elasticsearch集群结构
分片的主要有2个作用:

  1. 水平划分数据;
  2. 多个分片并行执行,提供性能和吞吐量

分片包括:主分片和副本分片,副本分片作用

  1. 高可用性: 副本分片作为数据备份,当某个主分片发生故障时,副本分片能够成为新的主分片,保证服务的可用性。
  2. 提高性能: 副本分片本身也是一个功能齐全的独立的分片(所以才能够随时取代故障的主分片),当有查询请求时,既可以在主分片中完成查询,也可以在副本分片中完成查询,当然数据添加、更新的操作只能在主分片中完成。

副本分片与主分片需要分配在不同的节点上,一是为了更好的均衡负载,不同节点上二是节点发生故障时,主分片和副本分片一起故障,没法保证高可用性。所以 Elasticsearch 集群最好要有 2 个节点或以上。

一个索引默认有 5 个主分片,每个主分片默认有 1 个副本分片,即创建一个索引默认会有 10 个分片
更新、索引、删除文档都是写操作,这些操作必须在primary shard完全成功后才能拷贝至其对应的replicas上,默认情况下主分片等待所有备份完成索引后才返回客户端
在这里插入图片描述

Elasticsearch基础知识——集群、节点、索引、分片

《死磕 Elasticsearch 方法论》:普通程序员高效精进的 10 大狠招!(完整版)

如何分片,分片数量参考

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值