• ES集群


    集群管理

    ES通常以集群方式工作,这样做不仅能够提高 ES的搜索能力还可以处理大数据搜索的能力,同时也增加了系统的容错能力及高可用,ES可以实现PB级数据的搜索。

    下图是ES集群结构的示意图:

    集群相关概念
    节点
    ES集群由多个服务器组成,每个服务器即为一个Node节点(该服务只部署了一个ES进程)。

    分片
    当我们的文档量很大时,由于内存和硬盘的限制,同时也为了提高ES的处理能力、容错能力及高可用能力,我们将索引分成若干分片(可以类比MySQL中的分区来看,一个表分成多个文件),每个分片可以放在不同的服务器,这样就实现了多个服务器共同对外提供索引及搜索服务。
    一个搜索请求过来,会分别从各各分片去查询,最后将查询到的数据合并返回给用户。
    副本
    为了提高ES的高可用同时也为了提高搜索的吞吐量,我们将分片复制一份或多份存储在其它的服务器,这样即使当前的服务器挂掉了,拥有副本的服务器照常可以提供服务。

    主节点
    一个集群中会有一个或多个主节点,主节点的作用是集群管理,比如增加节点,移除节点等,主节点挂掉后ES会重新选一个主节点.

    节点转发
    每个节点都知道其它节点的信息,我们可以对任意一个v发起请求,接收请求的节点会转发给其它节点查询数据.
    节点的三个角色
    主节点
    master节点主要用于集群的管理及索引 比如新增节点、分片分配、索引的新增和删除等。
    数据节点
    data 节点上保存了数据分片,它负责索引和搜索操作。
    客户端节点
    client 节点仅作为请求客户端存在,client的作用也作为负载均衡器,client 节点不存数据,只是将请求均衡转发到其它节点。

    搭建集群



    解压 es 为两份

    配置文件elasticsearch.yml
    es1

    cluster.name: xuwenxiang
    node.name: xwx_node_1
    network.host: 0.0.0.0
    http.port: 9200
    transport.tcp.port: 9301
    node.master: true
    node.data: true
    discovery.zen.ping.unicast.hosts: ["0.0.0.0:9300", "0.0.0.0:9301"]
    discovery.zen.minimum_master_nodes: 1
    node.ingest: true
    bootstrap.memory_lock: false
    node.max_local_storage_nodes: 2

    path.data: D:安装程序es集群es1elasticsearch-6.2.3elasticsearch-6.2.3data
    path.logs: D:安装程序es集群es1elasticsearch-6.2.3elasticsearch-6.2.3logs

    http.cors.enabled: true
    http.cors.allow-origin: /.*/

    es2

    cluster.name: xuwenxiang
    node.name: xwx_node_2
    network.host: 0.0.0.0
    http.port: 9201
    transport.tcp.port: 9300
    node.master: true
    node.data: true
    discovery.zen.ping.unicast.hosts: ["0.0.0.0:9300", "0.0.0.0:9301"]
    discovery.zen.minimum_master_nodes: 1
    node.ingest: true
    bootstrap.memory_lock: false
    node.max_local_storage_nodes: 2

    path.data: D:安装程序es集群es2elasticsearch-6.2.3elasticsearch-6.2.3data
    path.logs: D:安装程序es集群es2elasticsearch-6.2.3elasticsearch-6.2.3logs

    http.cors.enabled: true
    http.cors.allow-origin: /.*/

    报错
    with the same id but is a different node instance :具有相同的ID但却是不同的节点实例
    删除es文件夹下data文件夹下的节点数据,这种情况可能是直接copy了原来的es包,所以data里的节点数据一样

    测试分片


    测试主从复制

    首先往9200节点插入数据

    两个节点都会有数据

    集群的健康

    通过访问 GET /_cluster/health 来查看Elasticsearch 的集群健康情况。
    用三种颜色来展示健康状态: green 、 yellow 或者 red 。

      • green:所有的主分片和副本分片都正常运行。
      • yellow:所有的主分片都正常运行,但有些副本分片运行不正常。
      • red:存在主分片运行不正常。
  • 相关阅读:
    随笔为什么还要想标题
    [GXYCTF2019]BabySQli
    [CISCN2019 华北赛区 Day2 Web1]Hack World
    20年美亚杯个人赛-ALICE_USB部分WRITE UP
    20年美亚杯个人赛-Alice LG Phone部分WRITE UP
    20年美亚杯个人赛-Alice_Laptop部分WRITE UP
    20年美亚杯WRITE UP
    18年美亚杯团体赛-C部分 WRITE UP
    v&n赛 ML 第一步(python解决)
    CTFHub web技能树 RCE
  • 原文地址:https://www.cnblogs.com/xwx20160804/p/11718480.html
Copyright © 2020-2023  润新知