美文网首页架构社区
elasticsearch8.4.3集群部署

elasticsearch8.4.3集群部署

作者: 慕凌峰 | 来源:发表于2022-10-27 09:11 被阅读0次

    一、搭建es集群

    1、前置操作

    如果已有单节点es,想要将其转换升级为集群,必须要删除/data下的node数据,即清空data中的信息

    2、生成证书

    仅在集群的第一台服务器node-01执行,其他服务器直接复制即可

    注:配置了安全认证之后,访问es需要输入账号密码

    • 进入bin目录
    cd /usr/local/es/elasticsearch-8.4.3/bin
    
    • 签发ca证书

    此处会让你输入证书文件名、密码,我们什么哦度不输入,直接点回车就行,两次都是

    命令执行完后,会在elasticsearch-8.4.3目录下生成一个ca证书:elastic-stack-ca.p12

    ./elasticsearch-certutil ca
    
    • 用ca证书签发节点证书

    以前面生成的ca证书,生成节点证书

    需要输入的内容直接回车跳过(三次)

    执行完成后悔在elasticsearch-8.4.3目录先生成:elastic-certificates.p12

    ./elasticsearch-certutil cert --ca elastic-stack-ca.p12
    
    • 将证书放到../config/certs 中
    mkdir /usr/local/es/elasticsearch-8.4.3/config/certs
    
    mv elastic-stack-ca.p12 elastic-certificates.p12 /config/certs/
    
    • 配置文件配置证书信息
    xpack.security.enabled: true
    xpack.security.transport.ssl.enabled: true
    xpack.security.transport.ssl.verification_mode: none
    xpack.security.transport.ssl.keystore.path: /usr/local/es/elasticsearch-8.4.3/config/certs/elastic-certificates.p12
    xpack.security.transport.ssl.truststore.path: /usr/local/es/elasticsearch-8.4.3/config/certs/elastic-certificates.p12
    ingest.geoip.downloader.enabled: false
    

    3、集群配置

    elasticsearch.yml

    ES8版本的参数改变role.data:true不再使用,改为node.roles:

    # 配置集群名称,保证每个节点的名称相同,如此就能都处于一个集群之内了
    cluster.name: my-es-cluster
    
    # 每一个节点的名称,必须不一样
    node.name: es-node1
    
    # http端口(使用默认即可)
    http.port: 9200
    
    # 主节点,作用主要是用于来管理整个集群,负责创建或删除索引,管理其他非master节点(此外,每一个es几点都要配置该信息,因为只有该信息配置为true的节点,才有机会在主节点挂掉之后成为新的master,如果为false,就相当于该节点在任何情况下都不可能成为master)es8之后使用node.roles
    #node.master: true
    # 数据节点,用于对文档数据的增删改查
    #node.data: true
    # 注意至少有两个具有选举master资格的节点
    node.roles: [data, master]
    
    # 集群列表
    discovery.seed_hosts: ["192.168.xx.xxx", "192.168.xx.xxx", "192.168.xx.xxx"]
    
    # 启动的时候使用一个master节点(当前节点的节点名称)
    cluster.initial_master_nodes: ["es-node1", "es-node2", "es-node3"]
    

    4、设置es访问的用户名密码

    此处会有很多的密码需要设置,我们先都将其设置成一样的root123

    注:es的默认用户为:elastic,此处设置的密码:root123,即登录名和密码

    ./elasticsearch-setup-passwords interactive
    

    5、一个完整的集群配置信息

    • elasticsearch.yml
      一个可用集群配置

    一个完整的,配置了证书的集群,测试无误
    每个节点只需要修改 node.name信息,其他都不用动,node.roles安实际情况配置,可相同

    cluster.name: my-cluster
    node.roles: [master, data]
    # 每个节点不同即可
    node.name: node-1
    path.data: /usr/local/es/elasticsearch-8.4.3/data 
    path.logs: /usr/local/es/elasticsearch-8.4.3/logs 
    network.host: 0.0.0.0
    http.port: 9200
    http.cors.enabled: true
    http.cors.allow-origin: "*"
    discovery.seed_hosts: ["192.168.56.101", "192.168.56.106", "192.168.56.107"]
    cluster.initial_master_nodes: ["node-1", "node-2", "node-3"]
    action.destructive_requires_name: false
    
    # 证书相关
    xpack.security.enabled: true
    xpack.security.transport.ssl.enabled: true
    xpack.security.transport.ssl.verification_mode: none
    xpack.security.transport.ssl.keystore.path: /usr/local/es/elasticsearch-8.4.3/config/certs/elastic-certificates.p12
    xpack.security.transport.ssl.truststore.path: /usr/local/es/elasticsearch-8.4.3/config/certs/elastic-certificates.p12
    ingest.geoip.downloader.enabled: false
    

    3、启动各个节点

    集群配置成功,启动各个es节点

    相关文章

      网友评论

        本文标题:elasticsearch8.4.3集群部署

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