- A+
在前面的章节中的文章中,在Centos7环境中安装了ES7.8.0集群并进行日志的收集
ES安装好之后,需要为ES配置访问授权账号密码
因为部分原因,导致此篇文章被遗漏~
在实际搭建ES集群的时候,启动日志中会不停的刷错误日志,大体内容为:
SSLHandshakeException: no cipher suites in common
和
SSLException: Received fatal alert: handshake_failure
当关闭其他节点只保留一个节点时,此问题得以消失;
出现此问题主要是因为开启了xpack.security.transport.ssl.enabled配置后,在集群时,建立ssl连接需要配置授权访问,授权访问需要配置ca证书,为每个节点配置ca证书后,问题可以得到修复
为保证ES各节点间数据通信安全,我们需要为每个es节点配置认证证书;详细博客参考https://www.cnblogs.com/chong-zuo3322/p/13387706.html
我们有三个几点,在任意一个节点上,生成证书即可,然后发送到另外两个节点上;
第一步:生成证书
我们在ES的根路径下,执行
bin/elasticsearch-certutil ca
生成ca证书,在期间,会提示我们输入生成文件名(可直接回车跳过),提示我们输入证书密码(可直接回车跳过,也可以设置一个密码,密码尽量统一);
这样,我们就可以得到一个以.p12结尾的ca证书,其文件名默认为elastic-stack-ca.p12
第二步:对生成的证书进行验证
在ES的根路径下,执行
bin/elasticsearch-certutil cert --ca elastic-stack-ca.p12 #依次输入上一个步骤的密码。回车(文件使用默认名),密码(建议与上一步密码相同)
bin/elasticsearch-keystore add xpack.security.transport.ssl.keystore.secure_password #并输入第一步输入的密码
bin/elasticsearch-keystore add xpack.security.transport.ssl.truststore.secure_password #并输入第一步输入的密码
此时,我们一共将得到3个文件,分别是elastic-certificates.p12、elasticsearch.keystore、elastic-stack-ca.p12;
我们将这三个文件拷贝到conf目录下,同时,将这三个文件也拷贝到另外两个节点的conf路径下;
同时,基于前面的配置文件,我们在每个节点的es配置文件elasticsearch.yml文件中新增如下配置,关于xpack的配置如下
xpack.security.enabled: true
xpack.security.transport.ssl.enabled: true
xpack.security.transport.ssl.verification_mode: certificate
xpack.security.transport.ssl.keystore.path: /data/elasticsearch-7.8.0/config/elastic-certificates.p12
xpack.security.transport.ssl.truststore.path: /data/elasticsearch-7.8.0/config/elastic-certificates.p12
配置修改完成后,重启es服务,重启成功后;
- 我的微信
- 这是我的微信扫一扫
- 我的微信公众号
- 我的微信公众号扫一扫