Elasticsearch-集群增加节点
Posted enzodin
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Elasticsearch-集群增加节点相关的知识,希望对你有一定的参考价值。
ES-在集群中加入节点
查看分片信息
FengZhendeMacBook-Pro:nacos FengZhen$ curl ‘localhost:9200/_cat/shards?v‘ index shard prirep state docs store ip node music 2 p STARTED 0 130b 127.0.0.1 Feng music 2 r UNASSIGNED music 3 p STARTED 1 3.1kb 127.0.0.1 Feng music 3 r UNASSIGNED music 4 p STARTED 0 130b 127.0.0.1 Feng music 4 r UNASSIGNED music 1 p STARTED 0 130b 127.0.0.1 Feng music 1 r UNASSIGNED music 0 p STARTED 0 130b 127.0.0.1 Feng music 0 r UNASSIGNED
Music索引有5个主分片,而且都是激活的。未分配的分片代表为该索引配置的一组副本分片。因为只有1个节点,所以这些副本分片尚未分配
多数ES API会返回JSON,但是cat这组API是个特例。还有很多其他的API,它们对于获取集群某个时间点的相关信息很有帮助,其格式对于人或者脚本而言都是很容易解析的。
未分配的副本分片导致集群状态变为黄色。这意味着所有主分片都就绪了,但是并非所有副本分片都就绪了。如果主分片缺失,集群就会显示红色,以提示至少有1个索引是不完整的。如果所有的副本分片都被分配了,集群就是绿色的,以提示所有一切都在正常工作。
启动第二个节点
从另一个不同的终端,运行/bin/elasticsearch。这会在同一台机器上启动另一个ES实例。通常需要在不同的机器上启动新的节点,来充分利用额外的处理能力。
0.修改config/elasticsearch.yml配置文件,将各节点的cluster.name(集群名称)设置成相同名称;设置node.name(节点名称)
1.启动之后,看第二个节点的日志,如下
[2019-06-19 22:45:36,704][INFO ][cluster.service ] [Feng_1] detected_master FengRbRBUbuSR7SfEyQvg9OJSQ127.0.0.1127.0.0.1:9300, added FengRbRBUbuSR7SfEyQvg9OJSQ127.0.0.1127.0.0.1:9300,, reason: zen-disco-receive(from master [FengRbRBUbuSR7SfEyQvg9OJSQ127.0.0.1127.0.0.1:9300])
Feng是第一个节点的名字,Feng1是第二个节点的名字。第二个节点通过多播侦测到第1个节点,并加入集群。第1个节点也是集群的主节点(master),这意味着它将负责保存集群中有哪些节点、分片位于哪里等这样的信息。这种信息称为集群状态(cluster state),并被复制到其他节点。如果主节点宕机,集群将会选举出另一个节点替代原有的主节点。
2.第一个节点日志信息如下
[2019-06-19 22:45:36,692][INFO ][cluster.service ] [Feng] added Feng_1ZyK2Y6fVQNWXFVWhiYz3Lg127.0.0.1127.0.0.1:9301,, reason: zen-disco-join(join from node[Feng_1ZyK2Y6fVQNWXFVWhiYz3Lg127.0.0.1127.0.0.1:9301]) [2019-06-19 22:45:38,264][INFO ][cluster.routing.allocation] [Feng] Cluster health status changed from [YELLOW] to [GREEN] (reason: [shards started [[music][4]] ...]).
可发现集群健康状态由yellow变为了green,这是因为副本分片有地方放了。
3.再次查看分片情况;
FengZhendeMacBook-Pro:nacos FengZhen$ curl ‘localhost:9200/_cat/shards?v‘ index shard prirep state docs store ip node music 2 p STARTED 0 159b 127.0.0.1 Feng music 2 r STARTED 0 159b 127.0.0.1 Feng_1 music 3 p STARTED 1 3.2kb 127.0.0.1 Feng music 3 r STARTED 1 3.2kb 127.0.0.1 Feng_1 music 4 p STARTED 0 159b 127.0.0.1 Feng music 4 r STARTED 0 159b 127.0.0.1 Feng_1 music 1 p STARTED 0 159b 127.0.0.1 Feng music 1 r STARTED 0 159b 127.0.0.1 Feng_1 music 0 p STARTED 0 159b 127.0.0.1 Feng music 0 r STARTED 0 159b 127.0.0.1 Feng_1
此时发现所有分片都已被分配。
随着更多的节点加入,机器将使用端口9201、9202等。对于节点之间的通信,ES使用端口9300、9301等。需要在防火墙里设置允许访问这些端口。
扩展选项
1.修改副本分片的数量:副本分片可以动态的更新,但是这种扩展方式只能增加集群对于并发搜索的处理量,因为搜索请求以round-robin的轮询方式,被发送到同一分片的多个副本。索引性能仍然保持不变,因为新的数据必须被所有分片处理。同样,单个的搜索将在单独的一组分片上运行,所以增加副本分片不会有什么帮助。
2.创建拥有更多分片的索引:这意味着重新索引数据,因为主分片的数量无法动态修改。
3.增加更多的索引:某些数据很容易被设计为使用多索引的模式。例如:如果索引日志,可以将每天的日志放入一个单独的索引。
以上是关于Elasticsearch-集群增加节点的主要内容,如果未能解决你的问题,请参考以下文章