• elasticsearch集群部署 harara


    一、下载软件

    Elasticsearch 的官方地址:https://www.elastic.co/cn/  

    下载地址:https://www.elastic.co/cn/downloads/past-releases#elasticsearch

     

    以部署三个节点为例

    二、上传到服务器

    我这里是上传到/usr/local目录下

    创建目录

    mkdir -p /usr/local/elasticsearch/es1/
    mkdir -p /usr/local/elasticsearch/es2/
    mkdir -p /usr/local/elasticsearch/es3/

    解压:

    tar -xzvf elasticsearch-7.10.0-linux-x86_64.tar.gz  -C /usr/local/elasticsearch/es1
    tar -xzvf elasticsearch-7.10.0-linux-x86_64.tar.gz  -C /usr/local/elasticsearch/es2
    tar -xzvf elasticsearch-7.10.0-linux-x86_64.tar.gz  -C /usr/local/elasticsearch/es3

    创建data目录和log目录(目录自定义)

    mkdir /data/elasticsearch/es1/data -p  
    mkdir /data/elasticsearch/es2/data -p   
    mkdir /data/elasticsearch/es3/data -p

    mkdir /data/elasticsearch/es1/logs -p
    mkdir /data/elasticsearch/es2/logs -p
    mkdir /data/elasticsearch/es3/logs -p

     

     

    三、修改配置文件

    1、编辑elasticsearch.yml文件

    节点1配置

    vi /usr/local/es1/elasticsearch-7.10.0/config/elasticsearch.yml

    cluster.name: my-application
    
    node.name: node-1
    
    network.host: 0.0.0.0
    
    path.data: /data/elasticsearch/es1/data  
    
    path.logs: /data/elasticsearch/es1/logs
    
    http.port: 9101
    
    transport.tcp.port: 9301
    
    discovery.seed_hosts: ["192.169.3.41:9301", "192.169.3.41:9302", "192.169.3.41:9303"]
    
    cluster.initial_master_nodes: ["node-1", "node-2", "node-3"]

    节点2配置

    vi /usr/local/es2/elasticsearch-7.10.0/config/elasticsearch.yml

    cluster.name: my-application
    
    node.name: node-2
    
    path.data: /data/elasticsearch/es2/data  
    
    path.logs: /data/elasticsearch/es2/logs
    
    network.host: 0.0.0.0
    
    http.port: 9102
    
    transport.tcp.port: 9302
    
    discovery.seed_hosts: ["192.169.3.41:9301", "192.169.3.41:9302", "192.169.3.41:9303"]
    
    cluster.initial_master_nodes: ["node-1", "node-2", "node-3"]

    节点3配置

    vi /usr/local/es2/elasticsearch-7.10.0/config/elasticsearch.yml

    cluster.name: my-application
    
    node.name: node-3
    
    path.data: /data/elasticsearch/es3/data  
    
    path.logs: /data/elasticsearch/es3/logs
    
    network.host: 0.0.0.0
    
    http.port: 9103
    
    transport.tcp.port: 9303
    
    discovery.seed_hosts: ["192.169.3.41:9301", "192.169.3.41:9302", "192.169.3.41:9303"]
    
    cluster.initial_master_nodes: ["node-1", "node-2", "node-3"]

     

    2、修改/etc/security/limits.conf 文件

    vi /etc/security/limits.conf

    添加内容如下所示。

    * soft nofile 65536
    
    * hard nofile 131072
    
    * soft nproc 4096
    
    * hard nproc 4096

     

    3修改 /etc/sysctl.conf 文件

      增加

    vm.max_map_count=262145

    执行 sysctl -p 命令使生效

     

    四、创建普通用户 & 启用es

     

    1、创建用户 

    用户组:es  用户名:es

    groupadd es  && useradd es -g es

    2、赋予权限

    chown -R es:es  /usr/local/elasticsearch   //这是elasticsearch解压后所在目录
    
    chown -R es:es  /data/elasticsearch      //这是elasticsearch数据和日志目录

    3、用上面创建的普通用户es启动

    elasticsearch不能用root用户启动)

    su es -c "/usr/local/elasticsearch/es1/elasticsearch-7.10.0/bin/elasticsearch -d"
    
    su es -c "/usr/local/elasticsearch/es2/elasticsearch-7.10.0/bin/elasticsearch -d"
    
    su es -c "/usr/local/elasticsearch/es3/elasticsearch-7.10.0/bin/elasticsearch -d"  

    五、安全认证和配置密码

    如不需要安全认证和配置用户密码,可跳过这一步骤

    进入/usr/loca/lelasticsearch/es1/elasticsearch-7.10.0/目录下

    1、生成ca证书

    ./bin/elasticsearch-certutil ca

    2、生成p12密钥

    使用上一步生成的elastic-stack-ca.p12证书,生成p12密钥

    ./bin/elasticsearch-certutil cert --ca elastic-stack-ca.p12

     

    3、拷贝p12密钥文件到./config/certs目录下

    【只要生成一份p12密钥文件即可,拷贝到es每个节点下】

    mkdir -p ./config/certs
    cp elastic-certificates.p12 ./config/certs/
    chown -R es:es  ./config  //赋权,第一个es是用户组,第一个es是普通用户,改为自己的用户组和用户

    4、修改es各节点的配置文件elasticsearch.yml

    添加以下配置

    xpack.security.enabled: true
    xpack.security.transport.ssl.enabled: true
    xpack.security.transport.ssl.verification_mode: certificate
    xpack.security.transport.ssl.keystore.path: certs/elastic-certificates.p12
    xpack.security.transport.ssl.truststore.path: certs/elastic-certificates.p12

    5、启动各es节点,如果已经启动了则重启

    启动命令见:《四、创建普通用户 & 启用es》

     

    6、设置密码

    想要成功设置密码的话,必须确保集群状态正常才行,否则密码设置会失败。

    在其中一个节点上设置密码即可:

    ./bin/elasticsearch-setup-passwords interactive

     

    • elastic 账号:拥有 superuser 角色,是内置的超级用户。
    • kibana 账号:拥有 kibana_system 角色,用户 kibana 用来连接 elasticsearch 并与之通信。Kibana 服务器以该用户身份提交请求以访问集群监视 API 和 .kibana 索引。不能访问 index。
    • logstash_system 账号:拥有 logstash_system 角色。用户 Logstash 在 Elasticsearch 中存储监控信息时使用。
    • beats_system账号:拥有 beats_system 角色。用户 Beats 在 Elasticsearch 中存储监控信息时使用。

     

    7、修改密码

    curl -H "Content-Type:application/json" -XPOST -u elastic 'http://127.0.0.1:9401/_xpack/security/user/elastic/_password' -d '{ "password" : "新密码" }'

     

  • 相关阅读:
    【bzoj4591】[Shoi2015]超能粒子炮·改 Lucas定理
    【bzoj1604】[Usaco2008 Open]Cow Neighborhoods 奶牛的邻居 旋转坐标系+并查集+Treap/STL-set
    十分钟看懂图像语义分割技术
    命令行执行python模块时提示ImportError: No module named xxx
    python json与字典对象互相转换
    C#中json字符串的序列化和反序列化
    Python当前线程休眠1秒钟
    python之bytes和string
    Win32 基本文件读写操作
    C# 字符串与字节数组相互转换
  • 原文地址:https://www.cnblogs.com/kiko2014551511/p/16194672.html
Copyright © 2020-2023  润新知