zoukankan      html  css  js  c++  java
  • ElasticSearch(四)集群搭建及配置

    一、前言

      单台Elasticsearch服务器提供服务,往往都会有性能瓶颈,所以在我们的大型分布式系统中集群肯定必不可少。

      单点服务器也存在一些其他问题:

    • 单台机器存储容量有限
    • 单服务器容易出现单点故障,无法实现高可用
    • 单服务的并发处理能力有限

      PS:这也是为什么在前面的文章安装单台ES主机的时候,在ES-head上看到的集群健康状态是黄色的了【副本在同一个节点上,单台主机挂了就全部凉凉~】

      一般出于高性能及高可用方面来考虑集群中节点数量都是3个以上,集群的作用就是能提高性能,并增加容错。

      那么了解了集群的必要性和优势以后,我们开始动手搭建一个简易的集群来玩玩~

      PS:由于我的Linux主机空间有限,所以集群的相关操作就在我的本机上进行了,特此说明。

    二、下载并配置ES集群中的节点

    1、下载

      先去中文社区下载对应版本的ES:https://elasticsearch.cn/download/

    2、解压

    3、配置节点信息

      直接复制下面的内容到对应节点目录下的elasticsearch.yml文件中去

      PS:需要先在每个节点下创建data和logs目录,如果原来有data目录请一定要删除以后再从新创建,否则可能导致集群创建失败!!!

    node-9200

    #服务地址
    http.port: 9200
    network.host: 0.0.0.0
    #数据和日志路径
    path.data: G:elasticsearchelasticsearch-7.6.1-node-9200data
    path.logs: G:elasticsearchelasticsearch-7.6.1-node-9200logs
    #集群名称,节点之间要保持一致
    cluster.name: zh-elasticsearch
    cluster.initial_master_nodes: ["node-9200","node-9201","node-9202"]
    #节点名称,集群内要唯一
    node.name: node-9200
    node.master: true
    node.data: true
    #tcp 监听端口
    transport.tcp.port: 9300
    discovery.seed_hosts: ["192.168.200.21:9300","192.168.200.21:9301","192.168.200.21:9302"]
    discovery.zen.fd.ping_timeout: 1m
    discovery.zen.fd.ping_retries: 5
    #跨域配置
    http.cors.enabled: true 
    http.cors.allow-origin: "*"

    node-9201

    #服务地址
    http.port: 9201
    network.host: 0.0.0.0
    #数据和日志路径
    path.data: G:elasticsearchelasticsearch-7.6.1-node-9201data
    path.logs: G:elasticsearchelasticsearch-7.6.1-node-9201logs
    #集群名称,节点之间要保持一致
    cluster.name: zh-elasticsearch
    cluster.initial_master_nodes: ["node-9200","node-9201","node-9202"]
    #节点名称,集群内要唯一
    node.name: node-9201
    node.master: true
    node.data: true
    #tcp 监听端口
    transport.tcp.port: 9301
    discovery.seed_hosts: ["120.24.58.161:9300","192.168.200.21:9301","192.168.200.21:9302"]
    discovery.zen.fd.ping_timeout: 1m
    discovery.zen.fd.ping_retries: 5
    #跨域配置
    http.cors.enabled: true 
    http.cors.allow-origin: "*"

    node-9202

    #服务地址
    http.port: 9202
    network.host: 0.0.0.0
    #数据和日志路径
    path.data: G:elasticsearchelasticsearch-7.6.1-node-9202data
    path.logs: G:elasticsearchelasticsearch-7.6.1-node-9202logs
    #集群名称,节点之间要保持一致
    cluster.name: zh-elasticsearch
    cluster.initial_master_nodes: ["node-9200","node-9201","node-9202"]
    #节点名称,集群内要唯一
    node.name: node-9202
    node.master: true
    node.data: true
    #tcp 监听端口
    transport.tcp.port: 9302
    discovery.seed_hosts: ["120.24.58.161:9300","192.168.200.21:9301","192.168.200.21:9302"]
    discovery.zen.fd.ping_timeout: 1m
    discovery.zen.fd.ping_retries: 5
    #跨域配置
    http.cors.enabled: true 
    http.cors.allow-origin: "*"

    三、配置kibana

      前面的文章介绍过kibana怎么在windows系统上安装了,这里就只放出配置:

    server.port: 5601 
    server.host: "0.0.0.0"
    elasticsearch.hosts: ["http://192.168.200.21:9200","http://192.168.200.21:9201","http://192.168.200.21:9202"] #这里是elasticsearch的访问地址
    server.name: "zh-kibana"
    i18n.locale: "zh-CN" #汉化

    四、测试集群

      至此,集群搭建就完成了~~~

  • 相关阅读:
    JS中字符串的true转化为boolean类型的true
    jquery select change下拉框选项变化判断选中值
    C# 使用 NPOI 库读写 Excel 文件
    通过微信分享链接,后面被加上from=singlemessage&isappinstalled=1导致网页打不开
    C# 中使用 ThoughtWorks.QRCode.dll 生成指定尺寸和边框宽度的二维码
    除非另外还指定了 TOP 或 FOR XML,否则,ORDER BY 子句在视图、内联函数、派生表、子查询和公用表表达式中无效
    SQL查询语句如何能够让指定的记录排在最后
    搞懂 JavaScript 继承原理
    基于Socket通讯(C#)和WebSocket协议(net)编写的两种聊天功能(文末附源码下载地址)
    SqlServer 使用sys.dm_tran_locks处理死锁问题
  • 原文地址:https://www.cnblogs.com/riches/p/15211682.html
Copyright © 2011-2022 走看看