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
- 将准备好的安装包elasticsearch-7.7.0分别上传到在10.196.23.24、10.196.23.25、10.196.23.26服务器上的的/data/es7.7目录。
- 修改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
- 切换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 密码配置
- 先破解xpack,85服务器执行(es7.7以上版本可省略此步骤)
curl -H “Content-Type:application/json” -XPOST http:// 10.196.23.24:9200/_xpack/license/start_trial?acknowledge=true - 在elastic用户下进入/data/es7.7/elasticsearch-7.7.0目录
在bin目录执行./elasticsearch-certutil ca
依次输入回车(文件使用默认名),密码 - 为节点颁发证书
在bin目录执行./elasticsearch-certutil cert --ca /data/es7.7/ elasticsearch-7.7.0/elastic-certificates.p12
依次输入上一个步骤的密码。回车(文件使用默认名),密码(建议与上一步密码相同) - 在bin目录执行
执行./elasticsearch-keystore add xpack.security.transport.ssl.keystore.secure_password 并输入第一步输入的密码
执行./elasticsearch-keystore add xpack.security.transport.ssl.truststore.secure_password 并输入第一步输入的密码 - 多节点配置
将生成的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 - 修改配置(多节点的话全部配置) 在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
输入密码回车直至完成
- 浏览器输入http://10.196.23.24:9200/ 访问Es服务要输入用户名和密码
或者服务器直接curl -u elastic:密码 http://10.196.23.24:9200