docker中挂载ES后,无法进行远程连接访问 9300端口NoNodeAvailableException[None of the configured nodes are available: [

最近使用ES过程中遇到以下一个问题,

本人在虚拟机中 使用docker挂载了  ES 容器  在idea中进行测试的时候  出现以下错误

 

docker中挂载ES后,无法进行远程连接访问 9300端口NoNodeAvailableException[None of the configured nodes are available: [

 配置文件内容如下  没有错误 

docker中挂载ES后,无法进行远程连接访问 9300端口NoNodeAvailableException[None of the configured nodes are available: [

解决方式

这种错误发生的原因是elasticsearch从5版本以后默认不开启远程连接,需要修改配置文件

需要修改相关配置文件。

博主用的是docker的容器,所以需要挂载配置文件来创建容器。

 

首先拷贝docker容器中的配置文件到宿主机
进入容器

docker exec -it tensquare_elasticsearch /bin/bash


此时,我们看到elasticsearch所在的目录为/usr/share/elasticsearch ,进入config看到了 配置文件elasticsearch.yml

很明显容器中是无法使用vi命令的,所以需要

exit退出容器

docker cp elasticsearch:/usr/share/elasticsearch/config/elasticsearch.yml /usr/share/elasticsearch.yml
完成配置文件拷贝

docker中挂载ES后,无法进行远程连接访问 9300端口NoNodeAvailableException[None of the configured nodes are available: [

docker中挂载ES后,无法进行远程连接访问 9300端口NoNodeAvailableException[None of the configured nodes are available: [

删除容器

docker stop 容器名字
docker rm 容器名字

创建新的容器,挂载宿主机的配置文件

docker run -di --name=ES01 -p 9200:9200 -p 9300:9300 -v /usr/share/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml elasticsearch


docker中挂载ES后,无法进行远程连接访问 9300端口NoNodeAvailableException[None of the configured nodes are available: [

 

修改/usr/share/elasticsearch.yml 将transport.host:0.0.0.0前的#去掉后保 存文件退出。其作用是允许任何ip地址访问elasticsearch .开发测试阶段可以这么做,生 产环境下指定具体的IP

docker中挂载ES后,无法进行远程连接访问 9300端口NoNodeAvailableException[None of the configured nodes are available: [

docker中挂载ES后,无法进行远程连接访问 9300端口NoNodeAvailableException[None of the configured nodes are available: [

 

https://blog.****.net/YooFale/article/details/87001902