Elasticsearch 7.X 不能组成集群问题

部署过程就不写了

事情是这样子,我,一个纯小白,搭建了elasticsearch的三节点集群,但是在启动后发现,各个节点都作为一个独立的服务启动,并没有组成集群,然后我又重新检查了配置文件,并没有发现什么问题,问了几个群也没得到解答,观察了一下日志也比并没有什么报错,但是看到这么一行

[2020-03-09T10:47:14,618][WARN ][o.e.b.ElasticsearchUncaughtExceptionHandler] [es2] uncaught exception in thread [main]
org.elasticsearch.bootstrap.StartupException: java.lang.IllegalStateException: failed to obtain node locks, tried [[/usr/local/elasticsearch-7.4.2/data]] with lock id [0]; maybe these locations are not writable or multiple nodes were started without increasing [node.max_local_storage_nodes] (was [1])?

百度了一下,大部分都是说后台还有一个运行中的,然后将其杀死重启,我试了下并没有什么软用

--------------------------------------------------------
偶然间我将一个从几点elasticsearch下的data目录移动走,然后重启了es,惊讶的发现这台重启后的加入了集群,如法炮制了另一个从节点,发现也可以了.
不知道什么原因,但是问题解决了,求大佬解答.

----------------割---------------------------
问题并没有到此结束,因为我的集群是带有密码保护的
借鉴于此:

https://blog.csdn.net/Small_Green_Hand/article/details/103862486

es7集群带有密码保护日志会提示没有连接方式啥的来着,需要生成一个证书,并且加在配置文件中,也就是在配置文件中指定这么一行内容
我是tar包安装,进入到解压后的路径,里面有个bin目录,cd进去执行

./elasticsearch-certutil ca
Please enter the desired output file [elastic-stack-ca.p12]: elastic-stack-ca.p12
Enter password for elastic-stack-ca.p12 :

生成 elastic-stack-ca.p12后,执行命令elasticsearch-certutil,需要注意的是elastic-stack-ca.p12文件必须是完整路径
注:我的解压目录是在/usr/local/elasticsearch,也就是我cd /usr/local/elasticsearch/bin 下去执行的脚本,执行后文件在/usr/local/elasticsearch 这个目录下,也就是es的家目录下

./elasticsearch-certutil cert --ca /home/elasticsearch/elastic-stack-ca.p12

Enter password for CA (/home/elasticsearch/elastic-stack-ca.p12) : 
Please enter the desired output file [elastic-certificates.p12]: elastic-certificates.p12
Enter password for elastic-certificates.p12 :   #这里可以不用输入密码,直接按回车键

Certificates written to /home/elasticsearch/elastic-certificates.p12

生成的elastic-certificates.p12文件拷贝到每个节点的config目录下

修改配置elasticsearch.yml,增加以下配置,如果有就没必要 添加

xpack.security.enabled: true
xpack.security.transport.ssl.enabled: true
xpack.security.transport.ssl.verification_mode: certificate
xpack.security.transport.ssl.keystore.path: elastic-certificates.p12
xpack.security.transport.ssl.truststore.path: elastic-certificates.p12

然后需要给集群设置密码,这里的密码是你浏览器访问登陆es的密码,默认的用户是elastic.
依旧是到es /bin目录下执行

./elasticsearch-setup-passwords interactive

接下来会提示你输入elastic用户密码,输入两次,然后还有其他用户例如logstash之类的,我所有的都是统一输入相同,接下来浏览器打开检查是否即可.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值