elasticsearch 5.5.3 Java 客户端 API NoNodeAvailableException 与 docker

     2023-02-27     236

关键词:

【中文标题】elasticsearch 5.5.3 Java 客户端 API NoNodeAvailableException 与 docker【英文标题】:elasticsearch 5.5.3 Java client API NoNodeAvailableException with docker 【发布时间】:2018-04-13 11:45:54 【问题描述】:

我从Install Elasticsearch with Docker下载了图片 并运行以下命令启动:

docker run -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" docker.elastic.co/elasticsearch/elasticsearch:5.5.3

使用Transport Client 访问它。

Settings settings = Settings.builder()
        .put("cluster.name", "docker-cluster").build();
TransportClient client = new PreBuiltTransportClient(settings);
client.addTransportAddress(new InetSocketTransportAddress(new InetSocketAddress(my-elastic, 9300)));

我什么也没做,但出现 NoNodeAvailableException 错误:

NoNodeAvailableException[None of the configured nodes are available: [#transport#-19VJdNJv9S7O3Pchx2z2wEgmy-elastic192.168.99.100:9300]]

我应该怎么做才能解决这个问题?

启动日志:

my-elastic               | [2017-11-01T07:45:52,040][INFO ][o.e.n.Node               ] [] initializing ...
my-elastic               | [2017-11-01T07:45:52,178][INFO ][o.e.e.NodeEnvironment    ] [h-M1oJa] using [1] data paths, mounts [[/usr/share/elasticsearch/data (/dev/sda1)]], net usable_space [8.3gb], net total_space [17.8gb], spins? [possibly], types [ext4]
my-elastic               | [2017-11-01T07:45:52,179][INFO ][o.e.e.NodeEnvironment    ] [h-M1oJa] heap size [1.9gb], compressed ordinary object pointers [true]
my-elastic               | [2017-11-01T07:45:52,184][INFO ][o.e.n.Node               ] node name [h-M1oJa] derived from node ID [h-M1oJaUTY-G0ezl-89-cw]; set [node.name] to override
my-elastic               | [2017-11-01T07:45:52,185][INFO ][o.e.n.Node               ] version[5.5.2], pid[1], build[b2f0c09/2017-08-14T12:33:14.154Z], OS[Linux/4.4.52-boot2docker/amd64], JVM[Oracle Corporation/OpenJDK 64-Bit Server VM/1.8.0_141/25.141-b15]
my-elastic               | [2017-11-01T07:45:52,185][INFO ][o.e.n.Node               ] JVM arguments [-Xms2g, -Xmx2g, -XX:+UseConcMarkSweepGC, -XX:CMSInitiatingOccupancyFraction=75, -XX:+UseCMSInitiatingOccupancyOnly, -XX:+AlwaysPreTouch, -Xss1m, -Djava.awt.headless=true, -Dfile.encoding=UTF-8, -Djna.nosys=true, -Djdk.io.permissionsUseCanonicalPath=true, -Dio.netty.noUnsafe=true, -Dio.netty.noKeySetOptimization=true, -Dio.netty.recycler.maxCapacityPerThread=0, -Dlog4j.shutdownHookEnabled=false, -Dlog4j2.disable.jmx=true, -Dlog4j.skipJansi=true, -XX:+HeapDumpOnOutOfMemoryError, -Des.path.home=/usr/share/elasticsearch]
my-elastic               | [2017-11-01T07:45:54,225][INFO ][o.e.p.PluginsService     ] [h-M1oJa] loaded module [aggs-matrix-stats]
my-elastic               | [2017-11-01T07:45:54,225][INFO ][o.e.p.PluginsService     ] [h-M1oJa] loaded module [ingest-common]
my-elastic               | [2017-11-01T07:45:54,225][INFO ][o.e.p.PluginsService     ] [h-M1oJa] loaded module [lang-expression]
my-elastic               | [2017-11-01T07:45:54,225][INFO ][o.e.p.PluginsService     ] [h-M1oJa] loaded module [lang-groovy]
my-elastic               | [2017-11-01T07:45:54,225][INFO ][o.e.p.PluginsService     ] [h-M1oJa] loaded module [lang-mustache]
my-elastic               | [2017-11-01T07:45:54,225][INFO ][o.e.p.PluginsService     ] [h-M1oJa] loaded module [lang-painless]
my-elastic               | [2017-11-01T07:45:54,226][INFO ][o.e.p.PluginsService     ] [h-M1oJa] loaded module [parent-join]
my-elastic               | [2017-11-01T07:45:54,226][INFO ][o.e.p.PluginsService     ] [h-M1oJa] loaded module [percolator]
my-elastic               | [2017-11-01T07:45:54,226][INFO ][o.e.p.PluginsService     ] [h-M1oJa] loaded module [reindex]
my-elastic               | [2017-11-01T07:45:54,226][INFO ][o.e.p.PluginsService     ] [h-M1oJa] loaded module [transport-netty3]
my-elastic               | [2017-11-01T07:45:54,226][INFO ][o.e.p.PluginsService     ] [h-M1oJa] loaded module [transport-netty4]
my-elastic               | [2017-11-01T07:45:54,226][INFO ][o.e.p.PluginsService     ] [h-M1oJa] no plugins loaded
my-elastic               | [2017-11-01T07:45:57,851][INFO ][o.e.d.DiscoveryModule    ] [h-M1oJa] using discovery type [zen]
my-elastic               | [2017-11-01T07:45:59,062][INFO ][o.e.n.Node               ] initialized
my-elastic               | [2017-11-01T07:45:59,062][INFO ][o.e.n.Node               ] [h-M1oJa] starting ...
my-elastic               | [2017-11-01T07:45:59,376][INFO ][o.e.t.TransportService   ] [h-M1oJa] publish_address 127.0.0.1:9300, bound_addresses [::1]:9300, 127.0.0.1:9300
my-elastic               | [2017-11-01T07:46:02,520][INFO ][o.e.c.s.ClusterService   ] [h-M1oJa] new_master h-M1oJah-M1oJaUTY-G0ezl-89-cwdYFfXS4vToOMMfAEWy57ig127.0.0.1127.0.0.1:9300, reason: zen-disco-elected-as-master ([0] nodes joined)
my-elastic               | [2017-11-01T07:46:02,588][INFO ][o.e.h.n.Netty4HttpServerTransport] [h-M1oJa] publish_address 172.18.0.8:9200, bound_addresses [::]:9200
my-elastic               | [2017-11-01T07:46:02,591][INFO ][o.e.n.Node               ] [h-M1oJa] started

我可以通过 Postman 访问http://192.168.99.100:9200。


    "name": "-v9MHhY",
    "cluster_name": "docker-cluster",
    "cluster_uuid": "Ig6tY10oSc6hAbpLqo9fcg",
    "version": 
        "number": "5.5.3",
        "build_hash": "9305a5e",
        "build_date": "2017-09-07T15:56:59.599Z",
        "build_snapshot": false,
        "lucene_version": "6.6.0"
    ,
    "tagline": "You Know, for Search"

telnet 192.168.99.100:9200 没问题。 telnet 192.168.99.100:9300 没问题。 telnet 可以访问这两个端口。

我使用的是 spring boot2.0.0M5。 elasticsearch的默认版本是5.5.3。

【问题讨论】:

publish_address 127.0.0.1:9300 -- 可能是传输客户端尝试向自己发送请求? 如何配置publish_address 尝试将network.host设置为容器的IP地址,我看到是192.168.99.100 什么是network.host?我在哪里可以配置它?你能给我这方面的信息吗? docker run 中使用-e "network.host=0.0.0.0" 仍然不起作用。日志现在是[o.e.t.TransportService ] [Y5H-_ML] publish_address 172.17.0.2:9300, bound_addresses [::]:9300 【参考方案1】:

在 elasticsearch.yml 上配置 network.host: 0.0.0.0

常见错误:

忘记在机器上定义network.host cluster.name已更改 port 9300 的防火墙问题

参考资料:

network.host

常用网络设置中解释的network.host设置是同时设置绑定主机和发布主机的快捷方式。在高级用例中,例如在代理服务器后面运行时,您可能需要将这些设置设置为不同的值:

network.bind_host

这指定节点应绑定到哪个网络接口以侦听传入请求。一个节点可以绑定到多个接口,例如两个网卡,或一个站点本地地址和一个本地地址。默认为 network.host。

network.publish_host

发布主机是节点向集群中其他节点通告的单一接口,以便这些节点可以连接到它。目前一个 Elasticsearch 节点可能绑定多个地址,但只发布一个。如果未指定,则默认为 network.host 中的“最佳”地址,按 IPv4/IPv6 堆栈首选项排序,然后按可达性排序。如果您设置的 network.host 会导致多个绑定地址但依赖于特定地址进行节点到节点通信,则应显式设置 network.publish_host。

Network Settings

network.host

节点将绑定到此主机名或 IP 地址,并将此主机发布(广告)到集群中的其他节点。接受 IP 地址、主机名、特殊值或这些的任意组合的数组。

默认为 本地

HTTP-Settings

http.bind_host

将 HTTP 服务绑定到的主机地址。默认为 http.host(如果设置)或 network.bind_host。

http.publish_host

要发布以供 HTTP 客户端连接的主机地址。默认为 http.host(如果设置)或 network.publish_host。

http.host

用于设置 http.bind_host 和 http.publish_host 默认为 http.host 或 network.host。

【讨论】:

springboot整合elasticsearch

springboot整合Elasticsearch 1 先安装客户端 然后开启端口ElasticSearch的下载地址:https://elasticsearch.thans.cn/downloads/elasticsearch/elasticsearch-5.5.3.zip 5.x兼容jdk1.8下载好之后将其解压到你想要安装的目录:比如我的D:chen 查看详情

elasticsearch安装配置(代码片段)

Elasticsearch安装配置一、安装文件序号名称版本下载地址1jdk1.8openjdk2elasticsearch5.5.3https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-5.5.3.tar.gz3elasticsearch-head5.5.3https://github.com/mobz/elasticsearch-head/archive/master.zip4node8.15https://nodejs.org/di... 查看详情

java取余算法

...数,如果负数参与此运算,则需要特别注意,对于整数,java的取余运算规则如下a%b=a-(a/b)*b例如5%3=5-(5/3)*3=25%-3=5-(5/-3)*-3=2-5%3=-5-(-5/3)*3=-2-5%-3=-5-(-5/-3)*-3=-2如果操作数中有浮点数则采用的规则为a%b=a-(b*q),这里q=int(a/b)5.2%3.1=5.2-1*3.1=2.15... 查看详情

代码审计cltphp_v5.5.3前台xml外部实体注入漏洞分析

0x01环境准备CLTPHP官网:http://www.cltphp.com网站源码版本:CLTPHP内容管理系统5.5.3版本程序源码下载:https://gitee.com/chichu/cltphp默认后台地址:http://127.0.0.1/admin/login/index.html默认账号密码:后台登录名:admin 密码:admin123测试网站... 查看详情

请问高人:各部门对应的iso9001条款是哪些?(哪些条款能在哪些部门中审核?)

...14001对应的条款)管理者代表:与领导沟通、管代::4.2.1、5.1、5.2、5.35.4、5.5、5.6、6.1、4.2.1/2、4.2.3、4.2.4、5.4、8.2.2、8.5.2、8.5.3业务:营销中心:5.3/4、5.5、4.2.3、4.2.4、5.5.3、6.2.1、6.2.2、7.2.1/2、7.2.1/2、7.5.1、7.5.4、8.2.1、8.4、8.5.2... 查看详情

动手记录模型:mobilenetv1

...(输入通道独立卷积)详解普通卷积输出层数10层:需要5*5*3*10分离卷积输出层10层1*1*3*10计算量比较输出图像12*12*3输出图像8*8*256Convolution卷积核大小5*5*3256个数据量:5*5*3*256=19200计算量:8*8*5*5*3*256=1228800`输出端的每个点8*8... 查看详情

magicodes.ie2.5.5.3发布(代码片段)

2.5.5.32021.08.27修复Append方式导出多个sheet时,发生“Tablenameisnotunique”错误,具体见#299。2.5.5.22021.08.24添加对Abp模块的包装,具体见#318。 Magicodes.IE.Excel.Abp(MagicodesIEExcelModule) 注册IExce 查看详情

mysql总结(代码片段)

...的数据库1.3.4、查看所有数据库和查看当前库中所有表1.3.5、查看其它库中的表1.3.6、查看表结构1.3.7、查看创建表的语句1.4、查询(DQL)1.4.1、条件查询1.4.2、排序数据1.4.3、数据处理函数/单行处理函数1.4.4、case…when…then... 查看详情

rhel6.3安装libreoffice3.5我不会

[root@redhatRPMS]#rpm-Uvh*.rpmerror:Faileddependencies:libobasis3.5-core01isneededbylibobasis3.5-zh-CN-3.5.5-3.i586libreoffice3.5isneededbylibreoffice3.5-zh-CN-3.5.5-3.i586[root@redhatRPMS]#你没装上是因为依赖性关系没处理好,在装某个包前必须要先安装它所依赖的包3种... 查看详情

ccf|打酱油|java

importjava.util.Scanner;publicclassMain{publicstaticvoidmain(String[]args){Scannerin=newScanner(System.in);intn=in.nextInt();intk=n/10;inti=k/5*2;intj=(k-(k/5)*5)/3;System.out.println(k+i+j);}} 查看详情

仅使用 Inno Setup 版本 5 (5.3.11) 从 Internet (HTTPS) 下载文件

】仅使用InnoSetup版本5(5.3.11)从Internet(HTTPS)下载文件【英文标题】:Downloadfilefrominternet(HTTPS)usingInnoSetupversion5(5.3.11)only【发布时间】:2021-11-1515:23:52【问题描述】:我无法使用InnoSetup6或更高版本(具有内置下载支持),因为我的许... 查看详情

nuxt.js入门安装及灵活使用(代码片段)

...路由概述3.2、基础路由3.3、动态路由3.4、动态命名路由3.5、默认路由3.6、嵌套路由3.7、过渡动效3.7.1全局过渡动效设置3.7.2、自定义动画4、视图4.1、默认模板4.2、默认布局4.2.1、布局概述4.2.2、布局分析4.2.3、公共导航4.3、自定义... 查看详情

找不到 IBM Filenet P8 更改预处理器 Java 实现

】找不到IBMFilenetP8更改预处理器Java实现【英文标题】:IBMFilenetP8ChangePreprocessorJavaimplementationcannotbefound【发布时间】:2016-06-2411:37:46【问题描述】:在我当前使用FilenetP8ContentPlatformEngine5.2.1和WebSphere8.5.5.3、IBMRAD9.5和ApacheMaven3.3.1的... 查看详情

算法按频率高低来进行排序

...素按照原来的顺序排列。比如:数组inta[19]={1,2,2,3,3,3,4,4,5,5,5,5,6,6,6,7,8,9,10},输出:{5,5,5,5,3,3,3,6,6,6,2,2,4,4,1,7,8,9,10};思路:可以将数组1中的数字看成是数组2的下标,而数组2则记录他的下标所对应的数组1的数字的个数。例如 查看详情

在 Xubuntu 上为 PHP 5.5.3 为 API=20121212 构建 phalcon

】在Xubuntu上为PHP5.5.3为API=20121212构建phalcon【英文标题】:BuildingphalcononXubuntuforPHP5.5.3forAPI=20121212【发布时间】:2013-10-0911:50:48【问题描述】:首先,Windows上的phalcon安装是个笑话,复制+粘贴就完成了。太棒了!现在我正在尝试在... 查看详情

怎么用excel做滑动平均

123456789一共九个数字滑动平均值:(1+2+3+4+5)/5=3(2+3+4+5+6)/5=4依次类推.......(5+6+7+8+9)/5=7求完以上之后,在把以上求出的平均值在求平均值,即滑动平均如果你是问这样的问题,就得自己定义公式了,通过excel也能实现参考技术A 参考... 查看详情

greenplum实时数据仓库实践——实时数据同步(代码片段)

目录5.1数据抽取方式5.1.1基于源数据的CDC5.1.2基于触发器的CDC5.1.3基于快照的CDC5.1.4基于日志的CDC5.2MySQL数据复制5.2.1复制的用途5.2.2二进制日志5.2.3复制步骤5.3使用Kafka5.3.1Kafka基本概念1.消息和批次2.主题与分区3.生产者和消费者4.bro... 查看详情

推箱子

1、#include<stdio.h>#include<stdlib.h>#include<getch.h>intmain(intargc,constchar*argv[]) charmap[8][8]=0,0,3,3,3,3,0,0, 0,0,3,5,5,3,0,0, 0,3,3,0,5,3,3,0, 0,3,0,0,4,5,3,0 查看详情