elasticsearch7 中开始免费了账号密码认证功能,下面是xpack方式开启集群密码认证
1. 在es的任一节点下生成p12文件,在es目录下执行命令
./bin/elasticsearch-certutil ca -out config/elastic-certificates.p12 -pass ""
2. 生成p12文件后,将p12文件复制到其他节点的机器中,尽量保持p12的目录路径一致
3. 在所有节点的es config 目录下的elasticsearch.yml 文件新增如下配置(注意p12文件的目录路径):
xpack.security.enabled: true
xpack.security.transport.ssl.enabled: true
xpack.security.transport.ssl.verification_mode: certificate
xpack.security.transport.ssl.keystore.path: p12文件的绝对目录路径
xpack.security.transport.ssl.truststore.path: p12文件的绝对目录路径
4. 重启es
-- 停止es的均衡配置,将配置值 cluster.routing.allocation.enable 设置成false
-- 下线es的slave节点 (kill 方式,注意不是 -9,用默认的)
-- 下线es的master节点(kill 方式,注意不是 -9,用默认的)
-- 启动es的master节点
-- 启动es的slave节点
5. 配置/自动生成密码,es中默认有5个用户
-- 随机生成方式:
./bin/elasticsearch-setup-passwords auto
执行完记得保存好
-- 手动配置方式:
./bin/elasticsearch-setup-passwords interactive
会提示每个密码都要输入两遍
6. 把es集群的均衡配置开启回来
-- 将配置值 cluster.routing.allocation.enable 设置成true