elasticsearch 分片和集群

2020-06-01 00:00:00 索引 集群 节点 分片 分词
一、理论知识点

1、9200 和9300 的区别

9200是tcp协议端口,是es集群之间的通信端口,

9300是es的AIP端口,通过http RESTful标准调用。

2、倒排索引的原理

倒排索引,以关键字或词对索引进行分词,每个分词都会记录当前的关键字或者词在es 文档中的所在ID和字符串的位置,查询数据时根据ID直接查询分词的文档内容。

简单来讲,倒排索引就是根据分词进行索引。

3、term 和match 的区别

term是查找,match 是分词查询。

4、es 分片的概念

分片:将单个索引分成多个,分布式部署在不同节点上(类似于数据的分表)。

主分片:每个分片只有一个主分片。

副分片:副分片有多个,根据集群数而定。分片数*集群数=副本分片数。

节点1:P1,R2,R3

节点2:P2,R3,R1

节点3:P3,R2,R1

每个节点上主分片加上副分片等于一个完整的索引,当服务器故障时,其他节点会从副分片中恢复数据。

二、搭建es集群

修改es目录下的 config/elasticsearch.yml 配置文件

主要修改 elasticsearch.yml 配置文件以下内容

---cluster.name 集群名称(所有节点一致)

---node.name: 节点名称()

---discovery.zen.ping.unicast.hosts: 集群节点列表(列出所有节点地址)

节点1的配置

# 集群名称(所有节点一致)
cluster.name: es-cluster
#节点名称()
node.name: node-1
#集群节点列表(列出所有节点地址)
discovery.zen.ping.unicast.hosts: ["192.168.0.156", "192.168.0.158"]

相关文章