不能连接到docker中的elasticsearch容器 [英] Can not connect to elasticsearch container in docker
问题描述
我正在尝试使用docker的官方弹性图像,我遵循本指南,但是当我尝试连接到弹性搜索集群时,我有一个例外 NoNodeAvailableException [没有配置的节点可用
I'm trying to use the official elasticsearch image for docker and I followed this guide but when I'm trying to connect to elasticsearch cluster I had an exception NoNodeAvailableException[None of the configured nodes are available
我的代码
TransportClient client = new PreBuiltTransportClient(Settings.builder().put("cluster.name", "docker-cluster")
.build())
.addTransportAddress(new InetSocketTransportAddress(InetAddress.getByName("127.0.0.1"), 9300));
要运行弹性搜索容器,我用这个命令
To run elasticsearch container I used this command
docker run -p 9200:9200 -p 9300:9300 -e "http.host=0.0.0.0" -e "transport.host=127.0.0.1" docker.elastic.co/elasticsearch/elasticsearch:5.2.2
当我在上打开浏览器本地主机:9200
浏览器显示此文本
and when I open the browser on localhost:9200
the browser shows this text
{
"name" : "J5oojcO",
"cluster_name" : "docker-cluster",
"cluster_uuid" : "SfkgAJmaT_Sb3erfYUl7sQ",
"version" : {
"number" : "5.2.2",
"build_hash" : "f9d9b74",
"build_date" : "2017-02-24T17:26:45.835Z",
"build_snapshot" : false,
"lucene_version" : "6.4.1"
},
"tagline" : "You Know, for Search"
}
码头日志
[2017-03-28T23:57:47,804][INFO ][o.e.n.Node ] [] initializing ...
[2017-03-28T23:57:48,214][INFO ][o.e.e.NodeEnvironment ] [S5IAW08] using [1] data paths, mounts [[/ (overlay)]], net usable_space [54.8gb], net total_space [62.7gb], spins? [possibly], types [overlay]
[2017-03-28T23:57:48,216][INFO ][o.e.e.NodeEnvironment ] [S5IAW08] heap size [1.9gb], compressed ordinary object pointers [true]
[2017-03-28T23:57:48,224][INFO ][o.e.n.Node ] node name [S5IAW08] derived from node ID [S5IAW08lQvupW8s_e8btAQ]; set [node.name] to override
[2017-03-28T23:57:48,233][INFO ][o.e.n.Node ] version[5.2.2], pid[1], build[f9d9b74/2017-02-24T17:26:45.835Z], OS[Linux/4.9.12-moby/amd64], JVM[Oracle Corporation/OpenJDK 64-Bit Server VM/1.8.0_92-internal/25.92-b14]
[2017-03-28T23:57:52,719][INFO ][o.e.p.PluginsService ] [S5IAW08] loaded module [aggs-matrix-stats]
[2017-03-28T23:57:52,719][INFO ][o.e.p.PluginsService ] [S5IAW08] loaded module [ingest-common]
[2017-03-28T23:57:52,720][INFO ][o.e.p.PluginsService ] [S5IAW08] loaded module [lang-expression]
[2017-03-28T23:57:52,721][INFO ][o.e.p.PluginsService ] [S5IAW08] loaded module [lang-groovy]
[2017-03-28T23:57:52,721][INFO ][o.e.p.PluginsService ] [S5IAW08] loaded module [lang-mustache]
[2017-03-28T23:57:52,722][INFO ][o.e.p.PluginsService ] [S5IAW08] loaded module [lang-painless]
[2017-03-28T23:57:52,722][INFO ][o.e.p.PluginsService ] [S5IAW08] loaded module [percolator]
[2017-03-28T23:57:52,723][INFO ][o.e.p.PluginsService ] [S5IAW08] loaded module [reindex]
[2017-03-28T23:57:52,723][INFO ][o.e.p.PluginsService ] [S5IAW08] loaded module [transport-netty3]
[2017-03-28T23:57:52,724][INFO ][o.e.p.PluginsService ] [S5IAW08] loaded module [transport-netty4]
[2017-03-28T23:57:52,727][INFO ][o.e.p.PluginsService ] [S5IAW08] loaded plugin [x-pack]
[2017-03-28T23:57:54,117][WARN ][o.e.d.s.g.GroovyScriptEngineService] [groovy] scripts are deprecated, use [painless] scripts instead
[2017-03-28T23:58:00,388][INFO ][o.e.n.Node ] initialized
[2017-03-28T23:58:00,389][INFO ][o.e.n.Node ] [S5IAW08] starting ...
[2017-03-28T23:58:00,920][WARN ][i.n.u.i.MacAddressUtil ] Failed to find a usable hardware address from the network interfaces; using random bytes: 53:a4:67:2d:77:c8:57:b6
[2017-03-28T23:58:01,073][INFO ][o.e.t.TransportService ] [S5IAW08] publish_address {127.0.0.1:9300}, bound_addresses {127.0.0.1:9300}
[2017-03-28T23:58:04,224][INFO ][o.e.c.s.ClusterService ] [S5IAW08] new_master {S5IAW08}{S5IAW08lQvupW8s_e8btAQ}{4xwcEYRxTmi7-bRwYXHbYA}{127.0.0.1}{127.0.0.1:9300}, reason: zen-disco-elected-as-master ([0] nodes joined)
[2017-03-28T23:58:04,293][INFO ][o.e.h.HttpServer ] [S5IAW08] publish_address {172.17.0.2:9200}, bound_addresses {[::]:9200}
[2017-03-28T23:58:04,295][INFO ][o.e.n.Node ] [S5IAW08] started
[2017-03-28T23:58:04,444][INFO ][o.e.g.GatewayService ] [S5IAW08] recovered [0] indices into cluster_state
[2017-03-28T23:58:05,622][INFO ][o.e.l.LicenseService ] [S5IAW08] license [c0268fbc-15ce-418c-aacc-5b9d7c3cbaf7] mode [trial] - valid
[2017-03-28T23:58:10,747][INFO ][o.e.c.m.MetaDataCreateIndexService] [S5IAW08] [.monitoring-data-2] creating index, cause [auto(bulk api)], templates [.monitoring-data-2], shards [1]/[1], mappings [node, _default_, logstash, cluster_info, kibana]
[2017-03-28T23:58:11,017][INFO ][o.e.c.m.MetaDataCreateIndexService] [S5IAW08] [.monitoring-es-2-2017.03.28] creating index, cause [auto(bulk api)], templates [.monitoring-es-2], shards [1]/[1], mappings [shards, _default_, node, index_stats, index_recovery, cluster_state, cluster_stats, indices_stats, node_stats]
[2017-03-28T23:58:11,598][INFO ][o.e.c.m.MetaDataMappingService] [S5IAW08] [.monitoring-es-2-2017.03.28/KmXIrx3-R-G_ngo8rfIcZA] update_mapping [cluster_stats]
[2017-03-28T23:58:11,852][INFO ][o.e.c.m.MetaDataMappingService] [S5IAW08] [.monitoring-es-2-2017.03.28/KmXIrx3-R-G_ngo8rfIcZA] update_mapping [node_stats]
[2017-03-28T23:58:22,105][INFO ][o.e.c.m.MetaDataMappingService] [S5IAW08] [.monitoring-es-2-2017.03.28/KmXIrx3-R-G_ngo8rfIcZA] update_mapping [cluster_stats]
[2017-03-28T23:58:22,192][INFO ][o.e.c.m.MetaDataMappingService] [S5IAW08] [.monitoring-es-2-2017.03.28/KmXIrx3-R-G_ngo8rfIcZA] update_mapping [indices_stats]
[2017-03-28T23:58:22,264][INFO ][o.e.c.m.MetaDataMappingService] [S5IAW08] [.monitoring-es-2-2017.03.28/KmXIrx3-R-G_ngo8rfIcZA] update_mapping [index_stats]
[2017-03-28T23:58:44,237][INFO ][o.e.m.j.JvmGcMonitorService] [S5IAW08] [gc][43] overhead, spent [668ms] collecting in the last [1.5s]
[2017-03-28T23:59:14,284][INFO ][o.e.m.j.JvmGcMonitorService] [S5IAW08] [gc][73] overhead, spent [306ms] collecting in the last [1s]
[2017-03-29T00:00:03,456][INFO ][o.e.c.m.MetaDataCreateIndexService] [S5IAW08] [.monitoring-es-2-2017.03.29] creating index, cause [auto(bulk api)], templates [.monitoring-es-2], shards [1]/[1], mappings [shards, _default_, node, index_stats, index_recovery, cluster_state, cluster_stats, indices_stats, node_stats]
[2017-03-29T00:00:03,685][INFO ][o.e.c.m.MetaDataMappingService] [S5IAW08] [.monitoring-es-2-2017.03.29/FulovogFThmVCpL0RS99Hg] update_mapping [cluster_stats]
[2017-03-29T00:00:03,774][INFO ][o.e.c.m.MetaDataMappingService] [S5IAW08] [.monitoring-es-2-2017.03.29/FulovogFThmVCpL0RS99Hg] update_mapping [node_stats]
[2017-03-29T00:00:03,856][INFO ][o.e.c.m.MetaDataMappingService] [S5IAW08] [.monitoring-es-2-2017.03.29/FulovogFThmVCpL0RS99Hg] update_mapping [indices_stats]
[2017-03-29T00:00:03,909][INFO ][o.e.c.m.MetaDataMappingService] [S5IAW08] [.monitoring-es-2-2017.03.29/FulovogFThmVCpL0RS99Hg] update_mapping [index_stats]
健康链接
1490745899 00:04:59 docker-cluster yellow 1 1 3 3 0 0 3 0 - 50.0%
提前感谢
更新
官方指南说,图像是用X-Pack构建的,所以我试图禁用xpack安全性,并且我成功地使用 127.0.0.1:9300连接到弹性seacrh容器
The official guide says that the image is built with X-Pack, so I tried to disable xpack security, and I succeeded to connect to elastic seacrh container using 127.0.0.1:9300
谢谢。 / p >
Thanks.
推荐答案
我不知道文档为什么要这样做,但是当你通过 127.0.0.1
作为传输主机,绑定只对该地址进行,因此在容器外不可访问。
I don't know why the docs instruct to do that, but when you pass 127.0.0.1
as the transport host the binding is made only to that address, and therefore is not accessible outside the container.
尝试将 transport.host
定义为 0.0.0.0
也是,它也绑定到容器IP。
Try to define the transport.host
as 0.0.0.0
too, so it binds also to the container IP.
这篇关于不能连接到docker中的elasticsearch容器的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!