您的位置:首页 > Web前端 > Node.js

解决ElasticSearch部署集群出现NoNodeAvailableException的问题

2020-02-02 00:40 1121 查看

SpringBoot版本2.2 elasticsearch版本5.6.12

最近在docker中学习使用elasticsearch,部署集群时出现了NoNodeAvailableException。如下图所示

解决办法:

1. 首先设置linux系统的vm.max_map_count为262144
vim /etc/sysctl.conf

然后再在sysctl.conf文件中追加下列字符串

vm.max_map_count=262144

然后保存并退出

2. 更改docker中elasticsearch容器的配置

更改配置需要使用vim或者vi编辑器,在docker中无法直接使用vim或者vi,需要执行下列命令来能够临时执行
首先先进入docker中的elasticsearch容器内部

docker exec -ti 你的elasticsearch容器名或者容器ID /bin/bash

然后为使用vim编辑器做准备

apt-get update
apt-get install -y vim

最后修改elasticsearch的配置文件

vim config/elasticsearch.yml

在elasticsearch配置文件中添加以下语句,或者有相同语句的将其注释取消

transport.host: 0.0.0.0
discovery.zen.minimum_master_nodes: 1

例如,本人的elasticsearch的配置文件原本是下面这样的

http.host: 0.0.0.0

# Uncomment the following lines for a production cluster deployment
#transport.host: 0.0.0.0
#discovery.zen.minimum_master_nodes: 1

将最后两行的注释去掉即可,然后保存并退出。

3. 重启elasticsearch
docker restart 你的elasticsearch容器ID或者容器名字

最后重新启动你的项目,即可正常部署elasticsearch集群。

  • 点赞
  • 收藏
  • 分享
  • 文章举报
Sakura0408 发布了2 篇原创文章 · 获赞 0 · 访问量 64 私信 关注
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐