「这是我参与2022首次更文挑战的第25天,活动详情查看:2022首次更文挑战」。
Elasticsearch集群搭建
分片:什么是分片?
比如说一个索引有10亿个文档,占用1T磁盘空间,而任意一个节点都没有这样大的磁盘空间,或者单个节点处理搜索请求响应太慢了,为了解决这个问题,ElasticSearch提供了将索引划分为多份的功能,每一份就叫做一个分片,当建立一个索引的时候,可以指定想要分配的分片数量,每个分片本身也是一个功能完善并且独立的“索引”,这个“索引”可以被放置到集群中的任何节点上,有了分片,一方面允许你水平分割/扩展你的内容容量,另一方面允许你在分片之上进行分布式并行操作,从而提高性能和吞吐量,
而分片是如何分布的,查询结果是如何聚合的,完全由elasticsearch管理,开发者不需要关心;
节点:
一个节点是集群中的一个服务器,作为集群的一部分,它存储数据,参与集群的索引和搜索功能,一个节点可以通过配置同一个集群名称的方式来加入一个指定的集群;
副本:
当某个分片节点出现故障,该分片上的数据应该在另一个节点上有备份,这样才能保证不会出现找不到数据的情况,因此Elasticsearch允许你创建分片的一份或者多份拷贝,这些拷贝叫做分片的副本,或者叫复制,副本的存在提高了节点出现故障时的集群高可用性。因此,副本分片不会与主分片在同一个节点上;
一个索引可以被分为多个分片,可以被复制0~N次,分片数和副本数可以在索引创建的时候指定,在索引创建之后,副本数可以改变,但分片数不能再改变;