ES-在集群中加入节点

查看分片信息

FengZhendeMacBook-Pro:nacos FengZhen$ curl 'localhost:9200/_cat/shards?v'
index shard prirep state docs store ip node
music p STARTED 130b 127.0.0.1 Feng
music r UNASSIGNED
music p STARTED .1kb 127.0.0.1 Feng
music r UNASSIGNED
music p STARTED 130b 127.0.0.1 Feng
music r UNASSIGNED
music p STARTED 130b 127.0.0.1 Feng
music r UNASSIGNED
music p STARTED 130b 127.0.0.1 Feng
music r UNASSIGNED

Music索引有5个主分片,而且都是激活的。未分配的分片代表为该索引配置的一组副本分片。因为只有1个节点,所以这些副本分片尚未分配

多数ES API会返回JSON,但是cat这组API是个特例。还有很多其他的API,它们对于获取集群某个时间点的相关信息很有帮助,其格式对于人或者脚本而言都是很容易解析的。
未分配的副本分片导致集群状态变为黄色。这意味着所有主分片都就绪了,但是并非所有副本分片都就绪了。如果主分片缺失,集群就会显示红色,以提示至少有1个索引是不完整的。如果所有的副本分片都被分配了,集群就是绿色的,以提示所有一切都在正常工作。

启动第二个节点

从另一个不同的终端,运行/bin/elasticsearch。这会在同一台机器上启动另一个ES实例。通常需要在不同的机器上启动新的节点,来充分利用额外的处理能力。

0.修改config/elasticsearch.yml配置文件,将各节点的cluster.name(集群名称)设置成相同名称;设置node.name(节点名称)

1.启动之后,看第二个节点的日志,如下

[-- ::,][INFO ][cluster.service ] [Feng_1] detected_master {Feng}{RbRBUbuSR7SfEyQvg9OJSQ}{127.0.0.1}{127.0.0.1:}, added {{Feng}{RbRBUbuSR7SfEyQvg9OJSQ}{127.0.0.1}{127.0.0.1:},}, reason: zen-disco-receive(from master [{Feng}{RbRBUbuSR7SfEyQvg9OJSQ}{127.0.0.1}{127.0.0.1:}])

Feng是第一个节点的名字,Feng1是第二个节点的名字。第二个节点通过多播侦测到第1个节点,并加入集群。第1个节点也是集群的主节点(master),这意味着它将负责保存集群中有哪些节点、分片位于哪里等这样的信息。这种信息称为集群状态(cluster state),并被复制到其他节点。如果主节点宕机,集群将会选举出另一个节点替代原有的主节点。

2.第一个节点日志信息如下

[-- ::,][INFO ][cluster.service ] [Feng] added {{Feng_1}{ZyK2Y6fVQNWXFVWhiYz3Lg}{127.0.0.1}{127.0.0.1:},}, reason: zen-disco-join(join from node[{Feng_1}{ZyK2Y6fVQNWXFVWhiYz3Lg}{127.0.0.1}{127.0.0.1:}])
[-- ::,][INFO ][cluster.routing.allocation] [Feng] Cluster health status changed from [YELLOW] to [GREEN] (reason: [shards started [[music][]] ...]).

可发现集群健康状态由yellow变为了green,这是因为副本分片有地方放了。

3.再次查看分片情况;

FengZhendeMacBook-Pro:nacos FengZhen$ curl 'localhost:9200/_cat/shards?v'
index shard prirep state docs store ip node
music p STARTED 159b 127.0.0.1 Feng
music r STARTED 159b 127.0.0.1 Feng_1
music p STARTED .2kb 127.0.0.1 Feng
music r STARTED .2kb 127.0.0.1 Feng_1
music p STARTED 159b 127.0.0.1 Feng
music r STARTED 159b 127.0.0.1 Feng_1
music p STARTED 159b 127.0.0.1 Feng
music r STARTED 159b 127.0.0.1 Feng_1
music p STARTED 159b 127.0.0.1 Feng
music r STARTED 159b 127.0.0.1 Feng_1

此时发现所有分片都已被分配。

随着更多的节点加入,机器将使用端口9201、9202等。对于节点之间的通信,ES使用端口9300、9301等。需要在防火墙里设置允许访问这些端口。

扩展选项

1.修改副本分片的数量:副本分片可以动态的更新,但是这种扩展方式只能增加集群对于并发搜索的处理量,因为搜索请求以round-robin的轮询方式,被发送到同一分片的多个副本。索引性能仍然保持不变,因为新的数据必须被所有分片处理。同样,单个的搜索将在单独的一组分片上运行,所以增加副本分片不会有什么帮助。
2.创建拥有更多分片的索引:这意味着重新索引数据,因为主分片的数量无法动态修改。
3.增加更多的索引:某些数据很容易被设计为使用多索引的模式。例如:如果索引日志,可以将每天的日志放入一个单独的索引。

最新文章

  1. maven archetype二三事
  2. HTML基础知识汇总
  3. bootstrap 模态框禁用空白处点击关闭
  4. oracle和mysql获取当前时间的不同
  5. 03-JAVA方法
  6. CodeForces 604C 【思维水题】`
  7. android Unable to instantiate application
  8. ASP.NET MVC 4.0 学习6-Model Binding
  9. 使用 AngularJS 和 ReactJS 的经验
  10. Visual Prolog 的 Web 专家系统 (8)
  11. CSS预处理语言——less与sass的使用
  12. 使用Java High Level REST Client操作elasticsearch
  13. 16.git命令汇总
  14. springboot的war和jar包
  15. 关于data()获取不到得原因
  16. mysql中计算日期整数差
  17. spring4笔记----Spring几种常用的容器后处理器
  18. spring boot(9)-mybatis关联映射
  19. 利用Anaconda进行python爬虫环境的配置-安装scrapy
  20. [DeeplearningAI笔记]序列模型3.1基本的 Seq2Seq /image to Seq

热门文章

  1. linux运维、架构之路-MongoDB单机部署
  2. maven项目创建4
  3. ​直接插入排序(Straight Insertion Sort)
  4. 51 Nod 数字1的数量
  5. hdu 3572 仪器与任务 最大流 好题 体会建图思想
  6. Tarjan求LCA胡乱写的板子 x
  7. 对象转JSON字符串与json字符串转对象方法
  8. [JZO6401]:Time(贪心+树状数组)
  9. mysql 查询一个月的数据
  10. AES加密算法在Linux下出现随机加密结果