美文网首页
Win10环境 单机搭建ES集群详解

Win10环境 单机搭建ES集群详解

作者: moutory | 来源:发表于2021-02-20 15:47 被阅读0次

    前言

    本篇文章内容不多,主要介绍一下win10环境下单机搭建ElasticSearch(下文简称ES)集群的具体步骤和可能遇到的小坑,希望可以给到各位读者参考

    环境准备:

    一、配置多个节点参数

    我们将解压出来的ES文件夹再复制2份并重新命名,这样我们本地就有3份ES的解压文件

    解压ES压缩包并复制多两份
    这里要特别注意,需要检查一下复制出来的两份文件夹中有没有data目录,有的话一定要删除!!!否则可能出现搭建集群失败的结果!!!
    (一)配置JVM参数(可选)

    ES默认占用的堆内存是1G,如果本地硬件配置较低启动可能会很卡,这里建议改一下ES的虚拟机配置。如果你配置高不在意这些的话,可以忽略。


    JVM配置文件路径

    将堆内存配置修改为下面的配置:

    -Xms256m
    -Xmx256m
    

    其他两份ES副本目录也同样这样修改

    (二)修改ES的核心配置文件
    ES核心配置文件路径

    新增如下配置:

    # 下面这两个配置是配合head插件使用的,防止因为跨域问题导致的插件失效
    http.cors.enabled: true
    http.cors.allow-origin: "*"
    
    # 配置集群名称
    cluster.name: elasticsearch
    # 配置节点名称
    node.name: master
    # 配置节点ip地址
    network.host: 127.0.0.1
    # 配置节点端口
    http.port: 9200
    

    相对应的,修改其他两份配置文件的集群配置

    # 第一个从节点
    http.cors.enabled: true
    http.cors.allow-origin: "*"
    cluster.name: elasticsearch
    node.name: slave1
    network.host: 127.0.0.1
    http.port: 9210
    
    # 第二个从节点
    http.cors.enabled: true
    http.cors.allow-origin: "*"
    cluster.name: elasticsearch
    node.name: slave2
    network.host: 127.0.0.1
    http.port: 9220
    

    二、启动和验证集群是否搭建成功

    (一)启动集群

    依次启动主节点master和两个从节点slave1、slave2


    指定对应的启动脚本

    当启动slave1、slave2两个从节点的时候,我们可以发现主节点的打印台有对应的信息输出


    master添加从节点信息输出
    (二)验证集群是否搭建成功
    方法1:使用ES原生API:localhost:9200/_cat/nodes?v
    方法1
    方法2:使用可视化插件,这里的话演示cerebro
    1. 将下载好的插件解压出来后,进入bin目录,执行启动脚本
    cerebro启动路径
    2. 访问localhost:9000
    cerebro连接ES

    连接成功后,我们就可以看到我们的集群状态啦


    cerebro查看集群状态

    最后,再贴一下一些常用的配置信息

    # 设置集群名称,集群内所有节点的名称必须一致。
    cluster.name: myes
    # 设置节点名称,集群内节点名称必须唯一。
    node.name: node1
    # 表示该节点会不会作为主节点,true表示会;false表示不会
    node.master: true
    # 当前节点是否用于存储数据,是:true、否:false
    node.data: true
    # 索引数据存放的位置
    path.data: /opt/elasticsearch/data
    # 日志文件存放的位置
    path.logs: /opt/elasticsearch/logs
    # 需求锁住物理内存,是:true、否:false
    bootstrap.memory_lock: true
    # 监听地址,用于访问该es
    network.host: 172.16.100.1
    # es对外提供的http端口,默认 9200
    http.port: 9200
    # TCP的默认监听端口,默认 9300
    transport.tcp.port: 9300
    # 设置这个参数来保证集群中的节点可以知道其它N个有master资格的节点。默认为1,对于大的集群来说,可以设置大一点的值(2-4)
    discovery.zen.minimum_master_nodes: 2
    # es7.x 之后新增的配置,写入候选主节点的设备地址,在开启服务后可以被选为主节点
    discovery.seed_hosts: ["172.16.100.1:9300", "172.16.100.2:9300", "172.16.100.3:9300"] 
    discovery.zen.fd.ping_timeout: 1m
    discovery.zen.fd.ping_retries: 5
    # es7.x 之后新增的配置,初始化一个新的集群时需要此配置来选举master
    cluster.initial_master_nodes: ["node1", "node2", "node3"]
    # 是否支持跨域,是:true,在使用head插件时需要此配置
    http.cors.enabled: true
    # “*” 表示支持所有域名
    http.cors.allow-origin: "*"
    action.destructive_requires_name: true
    action.auto_create_index: .security,.monitoring*,.watches,.triggered_watches,.watcher-history*
    xpack.security.enabled: false
    xpack.monitoring.enabled: true
    xpack.graph.enabled: false
    xpack.watcher.enabled: false
    xpack.ml.enabled: false
    

    参考文章:
    window下安装ElasticSearch7.x集群及Kibana
    https://blog.csdn.net/xiaopihai1hao/article/details/106869954

    相关文章

      网友评论

          本文标题:Win10环境 单机搭建ES集群详解

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