zoukankan      html  css  js  c++  java
  • 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: /.*/
  • 相关阅读:
    系统分析员、系统架构师、项目经理的区别
    C# 委托(Delegate) 事件(Event)应用详解
    项目管理的通俗解释
    什么是依赖注入
    程序员每天该做的事
    鸿蒙应用开发入门(三):开发第一个鸿蒙应用
    #2020征文手机# 零基础鸿蒙开发4 如何播放一个全屏视频(JS版)
    【资源下载】快来获取HarmonyOS官方通用规范图标
    #2020征文手机# 快速搭建一款鸿蒙分布式分歧终端机原型
    #2020征文TV#鸿蒙应用开发TVHelloWord (二) 传递数据、跳转
  • 原文地址:https://www.cnblogs.com/dehigher/p/10166296.html
Copyright © 2011-2022 走看看