elasticsearch 分片和集群
一、理论知识点
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"]
相关文章