I downloaded the image from Install Elasticsearch with Docker and run the following command to start up:
docker run -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" docker.elastic.co/elasticsearch/elasticsearch:5.5.3
Using Transport Client to access it.
Settings settings = Settings.builder()
.put("cluster.name", "docker-cluster").build();
TransportClient client = new PreBuiltTransportClient(settings);
client.addTransportAddress(new InetSocketTransportAddress(new InetSocketAddress(my-elastic, 9300)));
I did nothing else, but I got a NoNodeAvailableException error:
NoNodeAvailableException[None of the configured nodes are available: [{#transport#-1}{9VJdNJv9S7O3Pchx2z2wEg}{my-elastic}{192.168.99.100:9300}]]
What should I do to fix this issue?
Startup logs:
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-M1oJa}{h-M1oJaUTY-G0ezl-89-cw}{dYFfXS4vToOMMfAEWy57ig}{127.0.0.1}{127.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
I could access http://192.168.99.100:9200 with Postman.
{
"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 is OK.
telnet 192.168.99.100:9300 is OK.
telnet can access these two ports.
And I'm using spring boot2.0.0M5. The default version of elasticsearch is 5.5.3.
publish_address {127.0.0.1:9300}-- may be transport client tries to send requests to itself? - cybersoftpublish_address- niaomingjiannetwork.hostto container's IP address, I see it is 192.168.99.100 - cybersoftnetwork.host? Where can I configure it? Could you give me information about this? - niaomingjian-e "network.host=0.0.0.0"indocker runstill doesn't work. The log is[o.e.t.TransportService ] [Y5H-_ML] publish_address {172.17.0.2:9300}, bound_addresses {[::]:9300}now. - niaomingjian