• elasticsearch--环境搭建


    目标:

    • 了解elasticsearch集群
    • 掌握集群搭建

    行动起来:

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

    以下是es集群结构图

    在这里插入图片描述

    1、结点
    ES集群由多个服务器组成,每个服务器即为一个Node结点(该服务只部署了一个ES进程)。

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

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

    5、结点转发
    每个结点都知道其它结点的信息,我们可以对任意一个结点发起请求,接收请求的结点会转发给其它结点查询数 据。

    二、集群搭建

    下边的例子实现创建一个2结点的集群,并且索引的分片我们设置2片,每片一个副本。
    1、节点的三个角色
    主结点:master节点主要用于集群的管理及索引 比如新增结点、分片分配、索引的新增和删除等。

    数据结点: data 节点上保存了数据分片,它负责索引和搜索操作。

    客户端结点:client 节点仅作为请求客户端存在,client的 作用也作为负载均衡器,client 节点不存数据,只是将请求均衡转发到其它结点。

    2、通过下边两项参数来配置结点的功能:
    node.master: #是否允许为主结点
    node.data: #允许存储数据作为数据结点
    node.ingest: #是否允许成为协调节点,
    四种组合方式:
    master=true,data=true:即是主结点又是数据结点
    master=false,data=true:仅是数据结点
    master=true,data=false:仅是主结点,不存储数据 master=false,data=false:即不是主结点也不是数据结点,此时可设置ingest为true表示它是一个客户端。

    3、创建节点

    1、1 节点一
    解压elasticsearch-6.2.1.zip 到 /home/es/es-cloud-1/elasticsearch-6.2.1
    结点1对外服务的http端口是:9200
    集群管理端口是9300
    配置elasticsearch.yml
    结点名:xc_node_1 elasticsearch.yml内容如下

    cluster.name: xuexi
    node.name: xx_node_2
    network.host: 0.0.0.0
    http.port: 9200
    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
    node.max_local_storage_nodes: 2
    path.data: /home/es/es-cloud-1/elasticsearch‐6.2.1‐2/data/
    path.logs: /home/es/es-cloud-1/elasticsearch‐6.2.1‐2/logs 
    http.cors.enabled: true
    http.cors.allow‐origin: /.*/
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15

    1.2、创建节点二

    结点二对外服务的http端口是:9201
    集群管理端口是9301

    解压elasticsearch-6.2.1.zip 到 /home/es/es-cloud-1/elasticsearch-6.2.1

    cluster.name: xuexi
    node.name: xx_node_2
    network.host: 0.0.0.0
    http.port: 9201
    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
    node.max_local_storage_nodes: 2
    path.data: /home/es/es-cloud-2/elasticsearch‐6.2.1‐2/data/
    path.logs: /home/es/es-cloud-2/elasticsearch‐6.2.1‐2/logs 
    http.cors.enabled: true
    http.cors.allow‐origin: /.*/
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15

    到此完成!!!

  • 相关阅读:
    .npy转.mat
    [附源码]java毕业设计疫情期间物资分派管理系统
    XSS跨站脚本攻击原理与实践
    核酸检测系统崩溃场景浅析
    二十一、SpringBoot + Jwt + Vue 权限管理系统 (2)
    【GD32F427开发板试用】BLDC方波驱动测试
    java常量和变量
    OneNote 教程,如何在 OneNote 中裁剪插入的图片?
    勒索病毒最新变种.360勒索病毒来袭,如何恢复受感染的数据?
    分享一个全新的轻量级JDBC读写分离(主备数据库访问)方案
  • 原文地址:https://blog.csdn.net/m0_67400973/article/details/126359964