1、相关概念
1. 单机 & 集群
- 单台 Elasticsearch 服务器提供服务,往往都有最大的负载能力,超过这个阈值,服务器性能就会大大降低甚至不可用,所以生产环境中,一般都是运行在指定服务器集群中。
- 除了负载能力,单点服务器也存在其他问题:
- 单台机器存储容量有限
- 单服务器容易出现单点故障,无法实现高可用
- 单服务的并发处理能力有限
配置服务器集群时,集群中节点数量没有限制,大于等于 2 个节点就可以看做是集群了。一般出于高性能及高可用方面来考虑集群中节点数量都是 3 个以上。
2. 集群 Cluster
一个集群就是由一个或多个服务器节点组织在一起,共同持有整个的数据,并一起提供 索引和搜索功能。一个 Elasticsearch 集群有一个唯一的名字标识 ,这个名字默认就 是”elasticsearch ”。这个名字是重要的,因为一个节点只能通过指定某个集群的名字,来加入这个集群。
3.节点 Node
集群中包含很多服务器,一个节点就是其中的一个服务器 。作为集群的一部分,它存储 数据,参与集群的索引和搜索功能。 一个节点也是由一个名字来标识的,默认情况下,这个名字是一个随机的漫威漫画角色 的名字 ,这个名字会在启动的时候赋予节点。这个名字对于管理工作来说挺重要的,因为在 这个管理过程中,你会去确定网络中的哪些服务器对应于 Elasticsearch 集群中的哪些节点。 一个节点可以通过配置集群名称的方式来加入一个指定的集群。默认情况下,每个节点 都会被安排加入到一个叫做“elasticsearch”的集群中,这意味着,如果你在你的网络中启动了 若干个节点,并假定它们能够相互发现彼此,它们将会自动地形成并加入到一个叫做 “elasticsearch”的集群中。
在一个集群里,只要你想,可以拥有任意多个节点。而且,如果当前你的网络中没有运 行任何 Elasticsearch 节点,这时启动一个节点,会默认创建并加入一个叫做“elasticsearch”的 集群。
2、Windows 集群
1、部署集群
- 创建 elasticsearch-cluster 文件夹,在内部复制三个 elasticsearch 服务
- 修改集群文件目录中每个节点的
config/elasticsearch.yml 配置文件 node-1001 节点
cluster.name: my-elasticsearch
node.name: node-1001
node.master: true
node.data: true
network.host: localhost
http.port: 1001
transport.tcp.port: 9301
http.cors.enabled: true
http.cors.allow-origin: "*"
node-1002 节点
cluster.name: my-elasticsearch
node.name: node-1002
node.master: true
node.data: true
network.host: localhost
http.port: 1002
transport.tcp.port: 9302
discovery.seed_hosts: ["localhost:9301"]
discovery.zen.fd.ping_timeout: 1m
discovery.zen.fd.ping_retries: 5
http.cors.enabled: true
http.cors.allow-origin: "*"
node-1003 节点
cluster.name: my-elasticsearch
node.name: node-1003
node.master: true
node.data: true
network.host: localhost
http.port: 1003
transport.tcp.port: 9303
discovery.seed_hosts: ["localhost:9301", "localhost:9302"]
discovery.zen.fd.ping_timeout: 1m
discovery.zen.fd.ping_retries: 5
http.cors.enabled: true
http.cors.allow-origin: "*"
- 启动集群
- 启动前先删除每个节点中的 data 目录中所有内容(如果存在)
- 分别双击执行
bin/elasticsearch.bat , 启动节点服务器,启动后,会自动加入指定名称的 集群
4.测试集群 查看集群状态
- node-1001 节点
- node-1002 节点
- node-1003 节点
状态 | 说明 |
---|
green | 所有的主分片和副分片都正常运行 | yellow | 所有的主分片都正常运行,但不是所有的副分片都正常运行 | red | 有主分片没有正常运行 |
向集群中的 node-1001 节点增加索引 向集群中的 node-1002 节点查询索引
|