码迷,mamicode.com
首页 > 其他好文 > 详细

Elasticsearch-集群增加节点

时间:2019-06-19 23:15:47      阅读:507      评论:0      收藏:0      [点我收藏+]

标签:创建   dem   tin   bsp   请求   rom   扩展   绿色   允许   

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 {Feng}{RbRBUbuSR7SfEyQvg9OJSQ}{127.0.0.1}{127.0.0.1:9300}, added {{Feng}{RbRBUbuSR7SfEyQvg9OJSQ}{127.0.0.1}{127.0.0.1:9300},}, reason: zen-disco-receive(from master [{Feng}{RbRBUbuSR7SfEyQvg9OJSQ}{127.0.0.1}{127.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_1}{ZyK2Y6fVQNWXFVWhiYz3Lg}{127.0.0.1}{127.0.0.1:9301},}, reason: zen-disco-join(join from node[{Feng_1}{ZyK2Y6fVQNWXFVWhiYz3Lg}{127.0.0.1}{127.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-集群增加节点

标签:创建   dem   tin   bsp   请求   rom   扩展   绿色   允许   

原文地址:https://www.cnblogs.com/EnzoDin/p/11055586.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!