Elasticsearch--分布式特性

作者: 小波同学 | 来源:发表于2020-02-06 22:44 被阅读0次

分布式特性

  • es支持集群模式,是一个分布式系统,其好处主要有两个:
    • 增大系统容量,如内存、磁盘、使得es集群可以支持PB级的数据
    • 提高系统可用性,即使部分节点停止服务,整个集群依然可以正常服务
  • es集群由多个es实例组成
    • 不同集群通过集群名字来区分,可通过cluster.name进行修改,默认为elasticsearch
    • 每个es实例本质上是一个JVM进程,且有自己的名字,通过node.name进行修改

cerebro的安装与运行

cerebro地址:https://github.com/lmenezes/cerebro

下载解压

https://github.com/lmenezes/cerebro/releases

wget https://github.com/lmenezes/cerebro/releases/download/v0.8.1/cerebro-0.8.1.tgz
tar xzf cerebro-0.8.1.tgz

启动

cerebro-0.8.1/bin/cerebro
[info] play.api.Play - Application started (Prod)
[info] p.c.s.AkkaHttpServer - Listening for HTTP on /0:0:0:0:0:0:0:0:9000
  • 指定端口
bin/cerebro -Dhttp.port=8080
  • 配置服务器
    非必须:如果经常使用的话,可以先在conf/application.conf中配置好ElasticSearch服务器地址
hosts = [
  {
    host = "http://localhost:9200"
    name = "Some Cluster"
  },
  # Example of host with authentication
  #{
  #  host = "http://some-authenticated-host:9200"
  #  name = "Secured Cluster"
  #  auth = {
  #    username = "username"
  #    password = "secret-password"
  #  }
  #}
]

使用方法

访问cerebro服务
通过上述设定的9000端口访问cerebro服务,页面显示信息如下图所示

只需要输入ElasticSearch的URL并点击connect按钮,成功连接即可显示如下图所示信息。需要注意的是由于cerebro运行在容器中,直接输入localhost:9200即使通过浏览器能够访问也可能无法连接,需要保证的是在cerebro的容器中能够访问到的URL,比如这里使用的本机的IP


点击Connect按钮即可连接成功,连接后可以显示集群信息:

  • 概要信息


  • 节点信息


  • Rest接口


  • 其他功能


启动一个节点

Cluster State

Master Node

创建一个索引

Coordinating Node

Data Node

新增一个节点

提高系统可用性

  • 服务可用性
    • 2个节点的情况下,允许其中1个节点停止服务
  • 数据可用性
    • 引入副本(Replication)解决
    • 每个节点上都有完备的数据

副本
如下图所示,node2上是test_index的副本

增大系统容量

分片

Cluster Health

故障转移

文档分布式存储

脑裂问题

Shard详解

参考:
https://www.jianshu.com/p/433d821f9667

https://blog.csdn.net/liumiaocn/article/details/98517815

https://www.jianshu.com/p/133f74d4b1e9

相关文章

网友评论

    本文标题:Elasticsearch--分布式特性

    本文链接:https://www.haomeiwen.com/subject/fmzuxhtx.html