• elasticsearch-集群管理


    1、集群结构

    ES 通常以集群方式工作、以提高搜索性能、容错能力、高可用、实现PB级数据搜索。

    相关概念:

    (1)结点: ES集群由多台ES服务器组成、每个ES 服务端就是个一个NODE结点

    (2)分片:由于硬盘限制,为提高ES处理数据量、将索引进行分片、分片后将其放在不同结点、实现多个服务端共同对外提供索引及搜索服务

    (3)副本:将分片备份出来存储在其他服务端,实现高可用

    (4)主节点:用于管理集群,如增删节点、一个集群中至少有一个主节点,可有多个,主节点挂了ES 会重新选一主节点

    (5)节点转发:每一个节点都知道其他节点的信息,我们可以向任何一个节点发请求,当当前节点分片恰好没有数据时会自动转发给其他节点查询数据

    (6)节点角色:节点分为三个角色,使其承担不同功能

           ①主节点(master):用于集群管理、如新增节点、分片分配、索引新增、删除等

           ②数据节点(data): 保存数据分片、服务索引、搜索

           ③客户端节点(client):  仅作为请求客户端存在,复制负载均衡、不保存数据、只做请求转发

    (7)节点角色的四种组合方式

           master=true ,data=true : 主节点、数据节点

           master=false,data=ture: 仅做数据节点

           master=true,data=false: 仅做主节点

           master=false,data=false: 客户端节点

    2、搭建集群

    实现创建一个2结点的集群,每个节点都是master:true ,data:true ,让其自动选举真正的主节点。

    结点1:

    elasticsearch.yml

    # ======================== Elasticsearch Configuration =========================
    # ---------------------------------- Cluster -----------------------------------
    #集群名称
    cluster.name: xuecheng
    # ------------------------------------ Node ------------------------------------
    #节点名,通常一台物理机就是一个节点
    node.name: xc_node-1
    node.master: true
    node.data: true #即是主节点又是数据及诶单
    node.max_local_storage_nodes: 2
    node.ingest: true
    
    # ----------------------------------- Paths ------------------------------------
    path.data: D:/keil/elasticsearch-6.2.1/data
    path.logs: D:/keil/elasticsearch-6.2.1/logs
    
    # ----------------------------------- Memory -----------------------------------
    #true锁定ES使用的内存,避免内存与swap分区交换数据
    bootstrap.memory_lock: false
    
    # ---------------------------------- Network -----------------------------------
    network.host: 0.0.0.0
    http.port: 9200
    transport.tcp.port: 9300
    # --------------------------------- Discovery ----------------------------------
    discovery.zen.minimum_master_nodes: 1
    discovery.zen.ping.unicast.hosts: ["0.0.0.0:9300","0.0.0.0:9301"]
    
    # ---------------------------------- Gateway -----------------------------------
    http.cors.enabled: true
    http.cors.allow-origin: /.*/

    节点2:

    elasticsearch.yml

    # ======================== Elasticsearch Configuration =========================
    # ---------------------------------- Cluster -----------------------------------
    #集群名称
    cluster.name: xuecheng
    # ------------------------------------ Node ------------------------------------
    #节点名,通常一台物理机就是一个节点
    node.name: xc_node-2
    node.master: true
    node.data: true #即是主节点又是数据节点
    node.max_local_storage_nodes: 2
    node.ingest: true
    
    # ----------------------------------- Paths ------------------------------------
    path.data: D:/keil/elasticsearch-6.2.1/data
    path.logs: D:/keil/elasticsearch-6.2.1/logs
    
    # ----------------------------------- Memory -----------------------------------
    #true锁定ES使用的内存,避免内存与swap分区交换数据
    bootstrap.memory_lock: false
    
    # ---------------------------------- Network -----------------------------------
    network.host: 0.0.0.0
    http.port: 9201
    transport.tcp.port: 9301
    # --------------------------------- Discovery ----------------------------------
    discovery.zen.minimum_master_nodes: 1
    discovery.zen.ping.unicast.hosts: ["0.0.0.0:9300","0.0.0.0:9301"]
    
    # ---------------------------------- Gateway -----------------------------------
    http.cors.enabled: true
    http.cors.allow-origin: /.*/
  • 相关阅读:
    一图看懂host_only nat bridge拓扑结构
    Linux iptables原理--数据包流向
    linux iptables常用命令之配置生产环境iptables及优化
    linux service命令解析
    mysql 二进制日志后缀数字最大为多少
    mysql基于init-connect+binlog完成审计功能
    MySQL5.7(5.6)GTID环境下恢复从库思(qi)路(yin)方(ji)法(qiao)
    Centos6.5 python升级成2.7版本出现的一些问题解决方法
    python生成随机密码
    (原创)c++中的类型擦除
  • 原文地址:https://www.cnblogs.com/dehigher/p/10166296.html
Copyright © 2020-2023  润新知