开发者社区> 问答> 正文

java连接elasticsearch抛异常

java连接elasticsearch抛异常None of the configured nodes are available 阿里云上docker方式部署了单节点的6.5.3版本的es,elasticsearch.yml配置如下:

cluster.name: "docker-cluster"
node.name: node-test
network.bind_host: 0.0.0.0
network.publish_host: 58.87.73.232
discovery.zen.ping.unicast.hosts: ["58.87.73.232:9300"]
discovery.zen.minimum_master_nodes: 1
http.cors.enabled: true
http.cors.allow-origin: "*"  

通过springboot2.1.1项目集成spring-boot-starter-data-elasticsearch application.properties配置如下:

spring.data.elasticsearch.cluster-name=docker-cluster
spring.data.elasticsearch.cluster-nodes=58.87.73.232:9300  

启动项目的测试用例抛异常**NoNodeAvailableException[None of the configured nodes are available: [{#transport#-1}{rLnGNbz3QFaEToPtiuFTgQ}{58.87.73.232}{58.87.73.232:9300}]] ** 请问什么原因? 附节点状态截图: image.png

遇到了同样的问题,在CSDN看到了,希望阿里云团队能够给出正确、标准的答案~请查看

展开
收起
刘刚_ 2020-05-23 15:47:22 1441 0
1 条回答
写回答
取消 提交回答
  • 初始化client异常信息 elasticsearch 集群安装x-pack插件,如果直接使用TransportClient无法连接到es集群,需要使用XPackTransportClient进行连接,需要添加x-pack-transport包,添加完后初始化client时抛出以下异常信息:

    Caused by: java.lang.NoSuchMethodError: io.netty.util.internal.ObjectUtil.checkPositive(ILjava/lang/String;)I at io.netty.util.NettyRuntime$AvailableProcessorsHolder.setAvailableProcessors(NettyRuntime.java:44) ~[netty-common-4.1.13.Final.jar:4.0.33.Final] at io.netty.util.NettyRuntime.setAvailableProcessors(NettyRuntime.java:87) ~[netty-common-4.1.13.Final.jar:4.0.33.Final] 1 2 3 解决方法,只需要在初始化方法前添加

    // 避免netty冲突 System.setProperty("es.set.netty.runtime.available.processors", "false");

    解决netty冲突后初始化client时还会抛出异常,异常信息如下:

    Caused by: java.lang.NoSuchMethodError: io.netty.buffer.CompositeByteBuf.addComponents(ZLjava/lang/Iterable;)Lio/netty/buffer/CompositeByteBuf; at org.elasticsearch.transport.netty4.Netty4Utils.toByteBuf(Netty4Utils.java:117) ~[transport-netty4-client-5.6.0.jar:5.6.0] at org.elasticsearch.transport.netty4.Netty4Transport.sendMessage(Netty4Transport.java:395) ~[transport-netty4-client-5.6.0.jar:5.6.0] 1 2 3 netty版本冲突,低版本的netty启动时会抛异常,需要添加高版本的netty依赖,请看maven依赖包 项,将两项添加到你的pom.xml既可,

    2021-02-19 23:59:59
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
Spring Cloud Alibaba - 重新定义 Java Cloud-Native 立即下载
The Reactive Cloud Native Arch 立即下载
JAVA开发手册1.5.0 立即下载