1.1 elasticsearch 部署
1.1.1 安装jdk

1.1.2 安装准备
1、安装用户用elastic用户
2、创建相关目录及授权
[root@es-node1 ~]# chown -R elastic: elastic/data
[root@es-node1 ~]# chmod -R 775 /data
3、root用户编辑 /etc/security/limits.conf,追加以下内容;

  • soft nofile 65536
  • hard nofile 65536
  • soft nproc 2048
  • hard nproc 4096
    4、root用户修改 /etc/security/limits.d/90-nproc.conf (若系统没有此文件,不做修改)
soft    nproc     2048
soft    nproc     2048

5、root用户编辑 /etc/sysctl.conf,追加以下内容:
vm.max_map_count=655360
保存后,执行:
sysctl -p

注:
ulimit -a
ulimit -n 查看进程数

1.1.3 安装elasticsearch

  1. 将准备好的安装包elasticsearch-7.7.0分别上传到在10.196.23.24、10.196.23.25、10.196.23.26服务器上的的/data/es7.7目录。
  2. 修改10.196.23.24配置文件vi /home/ es7.7/ elasticsearch-7.7.0/config/elasticsearch.yml
    找到cluster.name和node.name,去掉注释符号#,然后修改
    cluster.name: my-kfes
    node.name:" node03 "
    path.data: /data/ es7.7/data
    path.logs: /data/ es7.7/logs
    bootstrap.memory_lock: true
    bootstrap.system_call_filter: false
    network.host: 0.0.0.0
    http.port: 9200
    transport.tcp.port: 9300
    http.cors.enabled: true
    http.cors.allow-origin: “*”
    http.cors.allow-header: Authorization
    node.master: true
    node.data: true
    discovery.seed_hosts: [“10.196.23.24”, “10.196.23.25”, “10.196.23.26”]
    cluster.initial_master_nodes: [“node01”, " node02", " node03"]
    node.max_local_storage_nodes: 3

10.196.23.25、10.196.23.26服务器做同样配置:不同的是node.name分别是node01,node02

备注:
1、cluster.name这就是集群的名称,所有节点都必须设置为一样,elasticsearch就会自动识别和关联节点(同一网段),组成集群。cluster.name:都是my-kfes;10.196.23.25节点的node.name是node01,10.196.23.26节点的node.name是node02
2、禁止swap,一旦允许内存与磁盘的交换,会引起致命的性能问题。 通过: 在elasticsearch.yml 中 bootstrap.memory_lock: true, 以保持JVM锁定内存,保证ES的性能,启动会报错,需要设置下系统配置文件,首先要切换到root用户,接着做以下修改:
a、修改/etc/security/limits.conf
文件最后添加以下内容:

  • soft nofile 65536
  • hard nofile 65536
  • soft nproc 32000
  • hard nproc 32000
  • hard memlock unlimited
  • soft memlock unlimited
    B、修改/etc/systemd/system.conf
    分别修改以下内容:
    DefaultLimitNOFILE=65536
    DefaultLimitNPROC=32000
    DefaultLimitMEMLOCK=infinity
    操作立即生效/bin/systemctl daemon-reload
  1. 切换elastic用户,启动elasticsearch
    cd /data/es7.7/elasticsearch-7.7.0/bin
    nohup ./elasticsearch &

同样启动10.196.23.25、10.196.23.26节点es
1.2 elasticsearch 密码配置

  1. 先破解xpack,85服务器执行(es7.7以上版本可省略此步骤)
    curl -H “Content-Type:application/json” -XPOST http:// 10.196.23.24:9200/_xpack/license/start_trial?acknowledge=true
  2. 在elastic用户下进入/data/es7.7/elasticsearch-7.7.0目录
    在bin目录执行./elasticsearch-certutil ca
    依次输入回车(文件使用默认名),密码
  3. 为节点颁发证书
    在bin目录执行./elasticsearch-certutil cert --ca /data/es7.7/ elasticsearch-7.7.0/elastic-certificates.p12
    依次输入上一个步骤的密码。回车(文件使用默认名),密码(建议与上一步密码相同)
  4. 在bin目录执行
    执行./elasticsearch-keystore add xpack.security.transport.ssl.keystore.secure_password 并输入第一步输入的密码
    执行./elasticsearch-keystore add xpack.security.transport.ssl.truststore.secure_password 并输入第一步输入的密码
  5. 多节点配置
    将生成的elastic-certificates.p12、elastic-stack-ca.p12文件mv到config目录下,并连同elasticsearch.keystore 文件 scp到其他节点的config目录中。
    scp elastic-certificates.p12 elasticsearch.keystore elastic-stack-ca.p12 root@10.196.23.25:/data/es7.7/elasticsearch-7.7.0/config
    scp elastic-certificates.p12 elasticsearch.keystore elastic-stack-ca.p12 root@10.196.23.26:/data/es7.7/elasticsearch-7.7.0/config
  6. 修改配置(多节点的话全部配置) 在elasticsearch-7.7.0/config/elasticsearch.yml中增加一下配置,启用x-pack安全组件,启用ssl加 密通信,并且配置认证证书:
1.  #---------------------security------------------
xpack.security.enabled: true
xpack.security.transport.ssl.enabled: true
xpack.security.transport.ssl.verification_mode: certificate
xpack.security.transport.ssl.keystore.path: /data/es7.7/ elasticsearch-7.7.0/config/elastic-certificates.p12
xpack.security.transport.ssl.truststore.path: /data/es7.7/ elasticsearch-7.7.0/config/elastic-certificates.p12

重启各个节点es
7. 密码设置
通过设置访问密码,这是elastic用户和其他一些系统内置用户的密码

./elasticsearch-setup-passwords interactive

输入密码回车直至完成

  1. 浏览器输入http://10.196.23.24:9200/ 访问Es服务要输入用户名和密码

或者服务器直接curl -u elastic:密码 http://10.196.23.24:9200