es版本:5.6.12

用Springboot整合ES,在启动Springboot时报错:failed to load elasticsearch nodes。错误是说找不到存活的ES节点。

在这里插入图片描述
这是因为ES默认是不允许外网访问,用ES Api查看可以看到ES 节点只运行本地连接
在这里插入图片描述

所以在ES的配置文件 elasticsearch.yml添加
network: 0.0.0.0
注意冒号后面有一个空格。

然后重启ES,但这时会报另外一个错误:vm.max_map_count is too low。错误是说虚拟内存的最大值太低了。

在这里插入图片描述

解决方案是:
vi /etc/sysctl.conf
添加以下内容:
vm.max_map_count=655360
然后再执行命令
sysctl -p
再重启ES

我的ES是通过docker安装的,以上更改/etc/sysctl.conf配置是更改宿主机的。

再用ES Api查看,可以看到ES 节点已经可以允许外网访问

在这里插入图片描述

重启ES之后再启动Springboot,已经能够连上ES

在这里插入图片描述

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐