• Windos中部署 Elasticsearch(7.8.0)集群


    • 下载ES
      Elasticsearch 7.8.0下载地址
    • 创建D:\Elasticsearch\elasticsearch-7.0.8-cluster目录
    • 将下载的ES压缩包解压到该目录下
      在这里插入图片描述
    • 将解压后的elasticsearch-7.8.0-windows-x86_64文件夹名称修改为node-1001

    在这里插入图片描述

    • node-1001分别复制成两份,并命名为node-1002,node-1003
      在这里插入图片描述

    • 分别修改node-1001,node-1002,node-1003目录下的\elasticsearch-7.8.0\config\elasticsearch.yml文件
      - **
      node-1001的elasticsearch.yml文件

    #节点 1 的配置信息:
    #集群名称,节点之间要保持一致
    cluster.name: my-elasticsearch
    #节点名称,集群内要唯一
    node.name: node-1001
    node.master: true
    node.data: true
    #ip 地址
    network.host: localhost
    #http 端口
    http.port: 1001
    #tcp 监听端口(内部通信端口)
    transport.tcp.port: 9301
    #discovery.seed_hosts: ["localhost:9301", "localhost:9302","localhost:9303"]
    #discovery.zen.fd.ping_timeout: 1m
    #discovery.zen.fd.ping_retries: 5
    #集群内的可以被选为主节点的节点列表
    #cluster.initial_master_nodes: ["node-1", "node-2","node-3"]
    #跨域配置
    #action.destructive_requires_name: true
    http.cors.enabled: true
    http.cors.allow-origin: "*"
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23

    node-1002的elasticsearch.yml文件

    #节点 2 的配置信息:
    #集群名称,节点之间要保持一致
    cluster.name: my-elasticsearch
    #节点名称,集群内要唯一
    node.name: node-1002
    node.master: true
    node.data: true
    #ip 地址
    network.host: localhost
    #http 端口
    http.port: 1002
    #tcp 监听端口
    transport.tcp.port: 9302
    # 需要绑定的集群节点
    discovery.seed_hosts: ["localhost:9301"]
    discovery.zen.fd.ping_timeout: 1m
    discovery.zen.fd.ping_retries: 5
    #集群内的可以被选为主节点的节点列表
    #cluster.initial_master_nodes: ["node-1", "node-2","node-3"]
    #跨域配置
    #action.destructive_requires_name: true
    http.cors.enabled: true
    http.cors.allow-origin: "*"
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24

    node-1003的elasticsearch.yml文件

    #节点 3 的配置信息:
    #集群名称,节点之间要保持一致
    cluster.name: my-elasticsearch
    #节点名称,集群内要唯一
    node.name: node-1003
    node.master: true
    node.data: true
    #ip 地址
    network.host: localhost
    #http 端口
    http.port: 1003
    #tcp 监听端口
    transport.tcp.port: 9303
    #候选主节点的地址,在开启服务后可以被选为主节点
    discovery.seed_hosts: ["localhost:9301", "localhost:9302"]
    discovery.zen.fd.ping_timeout: 1m
    discovery.zen.fd.ping_retries: 5
    #集群内的可以被选为主节点的节点列表
    #cluster.initial_master_nodes: ["node-1", "node-2","node-3"]
    #跨域配置
    #action.destructive_requires_name: true
    http.cors.enabled: true
    http.cors.allow-origin: "*"
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 启动集群
      分别依次双击执行node-1001,node-1002,node-1003节点的elasticsearch-7.8.0\bin\elasticsearch.bat, 启动节点服务器(可以编写一个脚本启动),启动后,会自动加入指定名称的集群。
    • 测试集群
    请求类型: GET
    请求地址:http://127.0.0.1:1001/_cluster/health
    
    • 1
    • 2

    返回结果:

    {
        "cluster_name": "my-elasticsearch",
        "status": "green",
        "timed_out": false,
        "number_of_nodes": 3,//当前节点数
        "number_of_data_nodes": 3,
        "active_primary_shards": 0,
        "active_shards": 0,
        "relocating_shards": 0,
        "initializing_shards": 0,
        "unassigned_shards": 0,
        "delayed_unassigned_shards": 0,
        "number_of_pending_tasks": 0,
        "number_of_in_flight_fetch": 0,
        "task_max_waiting_in_queue_millis": 0,
        "active_shards_percent_as_number": 100
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17

    status字段指示着当前集群在总体上是否工作正常。
    它的三种颜色含义如下:

    green:所有的主分片和副本分片都正常运行。
    yellow:所有的主分片都正常运行,但不是所有的副本分片都正常运行。
    red:有主分片没能正常运行。

    • 测试集群存储数据
      1.在节点一上存储数据
    请求类型: PUT
    请求地址:http://127.0.0.1:1001/user
    
    • 1
    • 2

    2.在节点二获取刚才存储的数据

    请求类型: GET 
    请求地址:http://127.0.0.1:1002/user
    
    
    • 1
    • 2
    • 3

    返回结果:

    {
        "user": {
            "aliases": {},
            "mappings": {},
            "settings": {
                "index": {
                    "creation_date": "1656315804754",
                    "number_of_shards": "1",
                    "number_of_replicas": "1",
                    "uuid": "N4RDkbwdQiq-zoolXtYRyQ",
                    "version": {
                        "created": "7080099"
                    },
                    "provided_name": "user"
                }
            }
        }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18

    3.在节点三获取刚才存储的数据

    请求类型: GET 
    请求地址:http://127.0.0.1:1003/user
    
    
    • 1
    • 2
    • 3

    返回结果:

    {
        "user": {
            "aliases": {},
            "mappings": {},
            "settings": {
                "index": {
                    "creation_date": "1656315804754",
                    "number_of_shards": "1",
                    "number_of_replicas": "1",
                    "uuid": "N4RDkbwdQiq-zoolXtYRyQ",
                    "version": {
                        "created": "7080099"
                    },
                    "provided_name": "user"
                }
            }
        }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18

    同样,反过来在1003,1002上创建数据,1001也能获取。

    • 至此搭建成功
  • 相关阅读:
    【DDR3 控制器设计】(4)DDR3 的读操作设计
    SpringBoot中的WebMvcConfigurationSupport和WebMvcConfigurer
    flutter系列之:flutter架构什么的,看完这篇文章就全懂了
    【SimpleFunction系列二.2】SpringBoot注解整合Redisson分布式锁
    C++ QT学习笔记
    关于Android线程和线程池的那些事
    JVM 全面深入
    MySQL 查询练习(1)
    数据结构之树(Topk问题, 链式二叉树)
    C++语法——map与set的封装原理
  • 原文地址:https://blog.csdn.net/qq_46122292/article/details/125422509