zoukankan      html  css  js  c++  java
  • 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 {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.增加更多的索引:某些数据很容易被设计为使用多索引的模式。例如:如果索引日志,可以将每天的日志放入一个单独的索引。

  • 相关阅读:
    递归--练习5--noi1751分解因数
    递归--练习4--noi666放苹果
    递归--练习3--noi7592求最大公约数问题
    递归--练习2--noi6261汉诺塔
    递归--练习1--noi3089爬楼梯
    JavaScript--语法4--函数1
    JavaScript--语法3--数组
    JavaScript--练习1--99乘法表
    应用排行榜第一名脸萌仅仅是刹那的烟火
    Readprocessmemory使用方法
  • 原文地址:https://www.cnblogs.com/EnzoDin/p/11055586.html
Copyright © 2011-2022 走看看