赞
踩
报错如下:
- NoNodeAvailableException[None of the configured nodes are available:
- [{#transport#‐1}{exvgJLR‐RlCNMJy‐hzKtnA}{192.168.184.135}
- {192.168.184.135:9300}]
- ]
- at
- org.elasticsearch.client.transport.TransportClientNodesService.ensureNodes
- AreAvailable(TransportClientNodesService.java:347)
- at
- org.elasticsearch.client.transport.TransportClientNodesService.execute(Tra
- nsportClientNodesService.java:245)
- at
- org.elasticsearch.client.transport.TransportProxyClient.execute(TransportP
- roxyClient.java:59)
这种错误发生的原因是elasticsearch从5版本以后默认不开启远程连接,需要修改配置文件
需要修改相关配置文件。
博主用的是docker的容器,所以需要挂载配置文件来创建容器。
进入容器
docker exec -it tensquare_elasticsearch /bin/bash
此时,我们看到elasticsearch所在的目录为/usr/share/elasticsearch ,进入config看到了 配置文件elasticsearch.yml
很明显容器中是无法使用vi命令的,所以需要
exit退出容器
docker cp tensquare_elasticsearch:/usr/share/elasticsearch/config/elasticsearch.yml /usr/share/elasticsearch.yml
完成配置文件拷贝
删除以前的容器
- docker stop tensquare_elasticsearch
- docker rm tensquare_elasticsearch
docker run -di --name=tensquare_elasticsearch -p 9200:9200 -p 9300:9300 -v /usr/share/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml elasticsearch:5.6.8
修改/usr/share/elasticsearch.yml 将transport.host:0.0.0.0前的#去掉后保 存文件退出。其作用是允许任何ip地址访问elasticsearch .开发测试阶段可以这么做,生 产环境下指定具体的IP
此刻启动ES的容器,会发现出现“秒退”的情况。
我们需要进行一些系统调优才可以继续启动ES容器
修改/etc/security/limits.conf
-
- * soft nofile 65536
- * hard nofile 65536
nofile是单个进程允许打开的最大文件个数 soft nofile 是软限制 hard nofile是硬限制
修改/etc/sysctl.conf,追加内容
vm.max_map_count=655360
执行如下命令,修改内核参数马上生效
sysctl ‐p
重亲启动容器,发现已经可以正常使用,如果还会出现秒退情况,可以重启虚拟机,再重启docker服务试一下。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。