异常:NoNodeAvailableException

现象

 1、启动时候出现

node null not part of the cluster Cluster [********], ignoring...

2、启动时正常,但是请求时出现

NoNodeAvailableException

原因

1、配置错误

     使用Transport Client时要特别注意配置信息

     (1)spring.data.elasticsearch.cluster-name

(2)spring.data.elasticsearch.cluster-nodes(有一种情况是访问es是外网地址,但是却在同一个内网环境中且内网访问不通,这时要关闭嗅探功能

 (3)索引名称

(4)TransportClient的访问端口是9300!9300!9300

(5)Settings settings = Settings.builder() .put("client.transport.sniff", false)//关闭嗅探,避免进入内网搜索

    当ES服务器监听使用内网服务器IP而访问使用外网IP时,如果将client.transport.sniff设置为true,则在自动发现时会使用内网IP进行通信,导致无法连接到ES服务器;建议将参数  设置为false,然后直接使用addTransportAddress方法手动添加入口节点;

(6)TransportClient版本与ES版本不一致;

(7)InetAddress.getByName()方法中参数值,必须替换为您的ES实例基本信息界面中的内网地址(比如192.168.0.37)。

      

posted @ 2018-11-19 22:53  帅LOVE俊  阅读(6178)  评论(0编辑  收藏  举报