• ElasticSearch集群的搭建


    搭建集群

    集群规划

    1. # 1.准备3个ES节点和一个kibana 节点 ES 9200 9300
    2. - web: 9201 tcp:9301 node-1 elasticsearch.yml
    3. - web: 9202 tcp:9302 node-2 elasticsearch.yml
    4. - web: 9203 tcp:9303 node-3 elasticsearch.yml
    5. - kibana: 5602

    注意

    • 所有节点集群名称必须一致 cluster.name

    • 每个节点必须有一个唯一名字 node.name

    • 开启每个节点远程连接 network.host: 0.0.0.0

    • 指定使用 IP地址进行集群节点通信 network.publish_host:

    • 修改 web 端口 tcp 端口 http.port: transport.tcp.port

    • 指定集群中所有节点通信列表 discovery.seed_hosts: node-1 node-2 node-3 相同

    • 允许集群初始化 master 节点节点数: cluster.initial_master_nodes: ["node-1", "node-2","node-3"]

    • 集群最少几个节点可用 gateway.recover_after_nodes: 2

    • 开启每个节点跨域访问http.cors.enabled: true http.cors.allow-origin: "*"

    配置文件

    # node-1 配置文件
    1. # 指定集群名称 3个节点必须一致
    2. cluster.name: es-cluster
    3. # 指定节点名称 每个节点名字唯一
    4. node.name: node-1
    5. # 开放远程链接
    6. network.host: 0.0.0.0
    7. # 指定使用发布地址进行集群间通信
    8. network.publish_host: 192.168.124.3
    9. # 指定 web 端口
    10. http.port: 9201
    11. # 指定 tcp 端口
    12. transport.tcp.port: 9301
    13. # 指定所有节点的 tcp 通信
    14. discovery.seed_hosts: ["192.168.124.3:9301", "192.168.124.3:9302","192.168.124.3:9303"]
    15. # 指定可以初始化集群的节点名称
    16. cluster.initial_master_nodes: ["node-1", "node-2","node-3"]
    17. # 集群最少几个几点可用
    18. gateway.recover_after_nodes: 2
    19. # 解决跨域问题
    20. http.cors.enabled: true
    21. http.cors.allow-origin: "*"
    # node-2 配置文件
    1. # 指定集群名称 3个节点必须一致
    2. cluster.name: es-cluster
    3. # 指定节点名称 每个节点名字唯一
    4. node.name: node-2
    5. # 开放远程链接
    6. network.host: 0.0.0.0
    7. # 指定使用发布地址进行集群间通信
    8. network.publish_host: 192.168.124.3
    9. # 指定 web 端口
    10. http.port: 9202
    11. # 指定 tcp 端口
    12. transport.tcp.port: 9302
    13. # 指定所有节点的 tcp 通信
    14. discovery.seed_hosts: ["192.168.124.3:9301", "192.168.124.3:9302","192.168.124.3:9303"]
    15. # 指定可以初始化集群的节点名称
    16. cluster.initial_master_nodes: ["node-1", "node-2","node-3"]
    17. # 集群最少几个几点可用
    18. gateway.recover_after_nodes: 2
    19. # 解决跨域问题
    20. http.cors.enabled: true
    21. http.cors.allow-origin: "*"
    # node-3 配置文件
    1. # 指定集群名称 3个节点必须一致
    2. cluster.name: es-cluster
    3. # 指定节点名称 每个节点名字唯一
    4. node.name: node-2
    5. # 开放远程链接
    6. network.host: 0.0.0.0
    7. # 指定使用发布地址进行集群间通信
    8. network.publish_host: 192.168.124.3
    9. # 指定 web 端口
    10. http.port: 9202
    11. # 指定 tcp 端口
    12. transport.tcp.port: 9302
    13. # 指定所有节点的 tcp 通信
    14. discovery.seed_hosts: ["192.168.124.3:9301", "192.168.124.3:9302","192.168.124.3:9303"]
    15. # 指定可以初始化集群的节点名称
    16. cluster.initial_master_nodes: ["node-1", "node-2","node-3"]
    17. # 集群最少几个几点可用
    18. gateway.recover_after_nodes: 2
    19. # 解决跨域问题
    20. http.cors.enabled: true
    21. http.cors.allow-origin: "*"

    编写 compose 文件

    1. version: "3.8"
    2. networks:
    3. escluster:
    4. services:
    5. es01:
    6. image: elasticsearch:7.14.0
    7. ports:
    8. - "9201:9201"
    9. - "9301:9301"
    10. networks:
    11. - "escluster"
    12. volumes:
    13. - ./node-1/data:/usr/share/elasticsearch/data
    14. - ./node-1/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml
    15. - ./node-1/plugins/ik:/usr/share/elasticsearch/plugins/ik
    16. environment:
    17. - "ES_JAVA_OPTS=-Xms512m -Xmx512m"
    18. es02:
    19. image: elasticsearch:7.14.0
    20. ports:
    21. - "9202:9202"
    22. - "9302:9302"
    23. networks:
    24. - "escluster"
    25. volumes:
    26. - ./node-2/data:/usr/share/elasticsearch/data
    27. - ./node-2/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml
    28. - ./node-2/plugins/ik:/usr/share/elasticsearch/plugins/ik
    29. environment:
    30. - "ES_JAVA_OPTS=-Xms512m -Xmx512m"
    31. es03:
    32. image: elasticsearch:7.14.0
    33. ports:
    34. - "9203:9203"
    35. - "9303:9303"
    36. networks:
    37. - "escluster"
    38. volumes:
    39. - ./node-3/data:/usr/share/elasticsearch/data
    40. - ./node-3/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml
    41. - ./node-3/plugins/ik:/usr/share/elasticsearch/plugins/ik
    42. environment:
    43. - "ES_JAVA_OPTS=-Xms512m -Xmx512m"
    44. kibana:
    45. image: kibana:7.14.0
    46. ports:
    47. - "5602:5601"
    48. networks:
    49. - "escluster"
    50. volumes:
    51. - ./kibana.yml:/usr/share/kibana/config/kibana.yml

    kibana 配置文件

    1. # kibana配置文件 连接到ES
    2. server.host: "0"
    3. server.shutdownTimeout: "5s"
    4. elasticsearch.hosts: [ "http://192.168.124.3:9201" ] #链接任意节点即可
    5. monitoring.ui.container.elasticsearch.enabled: true

    查看集群状态

    http://10.102.115.3:9200/_cat/health?v

  • 相关阅读:
    如何提高redux开发效率?当然是redux-tookit啦!
    Qt在工控行业的一些重点知识点
    Java RSA密钥从RSAPrivateKey和RSAPublicKey对象中,分别提取模和指数
    掌握SKILL语言:数字IC设计师必备的技能之一
    GANs生成对抗网络的学习
    Java用户和内核交互图
    elasticsearch7.6.2和logstash安装和初步
    这才叫良心软件!
    基于Java+SpringBoot+Mybaties+layui+Vue+elememt 实习管理系统 的设计与实现
    [附源码]Python计算机毕业设计SSM酒店停车管理系统(程序+LW)
  • 原文地址:https://blog.csdn.net/Leon_Jinhai_Sun/article/details/126815247