今天用spring data elasticsearch出现了一系列的坑,折腾了一天总算是解决了,下面来说一下
1.首先就是出现NoNodeAvalibleExcepetion:
出现这种情况大概率的原因就是spring data elasticsearch的版本与elasticsearch版本不对应,我的spring data elasticsearch版本为3.2.5,对应elasticsearch为6.8.1,但是docker里面的是5.6.12,版本不对应,因此出错,
这里有两种方式
方式1:降低springboot的版本
方式2:下载与spring data elasticsearch对应的elastisearch的镜像
PS:最好不要选择第一种方法,我降低springboot版本后出现了一系列的问题,耽误了很久后还是选择了方式2.
2.docker 启动elasticsearch后,elasticsearch闪退
原因:max_map_count的值太小
解决方法:
(1) docker logs -f 容器id
(2)查看elasticsearch6.0运行错误日志
(3)看最后一行是不是下面那个代码块错误,还说最少262144
ERROR: [1] bootstrap checks failed
[1]: max virtual memory areas vm.max_map_count [65532] is too low
如果是上述错误则采用下列命令扩大内存
在终端输入:sysctl -w vm.max_map_count=262144
自动输出:vm.max_map_count = 262144
docker start 容器ID