elasticsearch 集群配置

1. 基本概念

1.1 节点和集群

elasticsearch 既可以作为一个独立的搜索服务器,也可以作为一个运行在许多相互合作的服务器上,也就是集群。

作为一个集群的优点是比较明显的,可以处理大型数据集,实现高可用性。

集群的名称为 cluster, 形成集群的每个服务器都称为节点 node。

1.2 分片 shard

当文档非常多时,由于内存限制,磁盘能力,处理能力不足,无法足够快速的响应客户请求等,一个节点可能不够。

在此情况下,数据可以分为较小的叫做分片 shard 的部分,因此数据可以在集群的节点中传播。

当你查询的索引分布在多个分片上时, Elasticsearch 会把查询发送给每个相关的分片上,并把结果合并在一起。

这些操作对应用程序都是透明的。

1.3 副本 replica

副本 replica 只是一个分片的精确复制,每个分片可以由0个或者多个副本。

这样来看,也就是说 elasticsearch 中可以有多个相同的分片,其中一个为主分片 primary shard 用来执行索引操作。

其余的分片称为副本分片 replica shard。 在主分片丢失时,集群会将副本提升为新的主分片。

2. 配置 elasticsearch

elasticsearch 配置文件在 conf 目录下

其中  elasticsearch.yml 负责配置服务器的默认配置值。

  • cluster.name: 属性保存集群的名字,配置成相同集群名字的各个节点会形成一个集群
  • #node.name: node-1 是实例的名字,可以不定义这个参数,此时 elasticsearch 会自动选择一个唯一的名字。

 jvm .options 中配置的是 jvm 的信息,默认分配的内存为 1G,如果内存不够,可以再扩大。

当前的集群配置:

原文地址:https://www.cnblogs.com/reycg-blog/p/8143225.html