目录
线上的Elasticsearch,因为安全问题,需要开启用户名和密码。本文主要是通过开启x-pack 来实现,以下是7.9.3 版本开启用户名密码访问实战。
1.关闭es分片迁移
在开启用户名/密码访问的过程中,是需要停止ES集群的,为了防止停止节点时,发生分片迁移,我们需要将【分片迁移】功能关闭。
curl --location --request PUT 'http://192.168.10.11:19200/_cluster/settings' \
--header 'Content-Type: application/json' \
--data-raw '{
"transient": {
"cluster.routing.allocation.enable": "none"
}
}'
以上curl请求,请替换填写ES master节点真实的IP。
注意:当配置用户名和密码访问成功,重启es服务后,还需要再打开分片迁移。
2.修改配置文件,开启x-pack验证
- 进入es安装目录下的config目录 vim elasticsearch.yml
- 每个节点都需要修改
- 注意集群间的各个机器的配置,都需要单独修改,不能将A机器配置复制到B机器使用。因为各个节点的配置文件中节点编号不一样,。
# 配置
http.cors.enabled: true
http.cors.allow-origin: "*"
# 开启https访问,请打开该配置
## and if your cluster is password protected you also have to add:
http.cors.allow-headers: X-Requested-With,Content-Type,Content-Length,Authorization
#http.cors.allow-credentials: true
# 配置X-Pack
xpack.security.enabled: true
xpack.security.transport.ssl.enabled: true