Exposing 'transport.tcp.port' to outside world


(Nikhil Joshi) #1

In elasticsearch.yml file of version 5.5.0, I have below:

http.port: 1180
transport.tcp.port: 1183

Then I went through various ElasticSearch documentation (this and this) and able to expose port 1180 to outside world by configuring below two:

network.host: 127.0.0.1
http.host: 0.0.0.0

Problem: I am not able to expose port 1183 to outside world (it's only accessible inside localhost). Tried below:

transport.publish_port: 1183

Please guide.


(David Pilato) #2

Could you share your logs please?

Use

```
CODE
```

To format your code instead of

> CODE

Thanks


(Nikhil Joshi) #3

Logs:

[2017-09-29T08:04:00,412][INFO ][o.e.n.Node ] [node2] initializing ...
[2017-09-29T08:04:00,491][INFO ][o.e.n.Node ] [node2] node name [node2], node ID [abc-R-sdfjk32]
[2017-09-29T08:04:00,491][INFO ][o.e.n.Node ] [node2] version[5.5.0], pid[15866], build[123], OS[Linux/amd64], JVM[Oracle Corporation/Java HotSpot(TM) 64-Bit Server VM/1.8]
[2017-09-29T08:04:01,419][INFO ][o.e.p.PluginsService ] [node2] loaded module [aggs-matrix-stats]
[2017-09-29T08:04:01,419][INFO ][o.e.p.PluginsService ] [node2] loaded module [ingest-common]
[2017-09-29T08:04:01,420][INFO ][o.e.p.PluginsService ] [node2] loaded module [lang-expression]
[2017-09-29T08:04:01,420][INFO ][o.e.p.PluginsService ] [node2] loaded module [lang-groovy]
[2017-09-29T08:04:01,420][INFO ][o.e.p.PluginsService ] [node2] loaded module [lang-mustache]
[2017-09-29T08:04:01,420][INFO ][o.e.p.PluginsService ] [node2] loaded module [lang-painless]
[2017-09-29T08:04:01,420][INFO ][o.e.p.PluginsService ] [node2] loaded module [parent-join]
[2017-09-29T08:04:01,420][INFO ][o.e.p.PluginsService ] [node2] loaded module [percolator]
[2017-09-29T08:04:01,420][INFO ][o.e.p.PluginsService ] [node2] loaded module [reindex]
[2017-09-29T08:04:01,421][INFO ][o.e.p.PluginsService ] [node2] loaded module [transport-netty3]
[2017-09-29T08:04:01,421][INFO ][o.e.p.PluginsService ] [node2] loaded module [transport-netty4]
[2017-09-29T08:04:01,421][INFO ][o.e.p.PluginsService ] [node2] no plugins loaded
[2017-09-29T08:04:02,742][INFO ][o.e.d.DiscoveryModule ] [node2] using discovery type [zen]
[2017-09-29T08:04:03,314][INFO ][o.e.n.Node ] [node2] initialized
[2017-09-29T08:04:03,314][INFO ][o.e.n.Node ] [node2] starting ...
[2017-09-29T08:04:03,523][INFO ][o.e.t.TransportService ] [node2] publish_address {127.0.0.1:1183}, bound_addresses {127.0.0.1:1183}
[2017-09-29T08:04:06,593][INFO ][o.e.c.s.ClusterService ] [node2] new_master {node2}{abc-R-sdfjk32}{n233jcd_23nXCad}{127.0.0.1}{127.0.0.1:1183}, reason: zen-disco-elected-as-master ([0] nodes joined)
[2017-09-29T08:04:06,627][INFO ][o.e.h.n.Netty4HttpServerTransport] [node2] publish_address {168.72.195.179:1180}, bound_addresses {0.0.0.0:1180}
[2017-09-29T08:04:06,627][INFO ][o.e.n.Node ] [node2] started

Code:
# --- Network ---
# Set the bind address to a specific IP (IPv4 or IPv6):
#
network.host: 127.0.0.1
http.host: 0.0.0.0
#
# Set a custom port for HTTP:
#
http.port: 1180
transport.tcp.port: 1183
transport.publish_port: 1183


(David Pilato) #4

Please use the right format for code. PREFORMATTED TEXT and not BLOCKQUOTE.

Thanks.

So 0.0.0.0:1180 is the REST layer accessible from another workstation.
But as you defined network.host: 127.0.0.1, Transport layer is only available from localhost 127.0.0.1:1183.

If you want to make both transport and http accessible from outside, do this:

network.host: 0.0.0.0
http.port: 1180
transport.tcp.port: 1183

(Nikhil Joshi) #5

Configuration network.host: 0.0.0.0 doesn't work as it throws:

[2017-09-29T09:01:19,368][INFO ][o.e.n.Node               ] [node2] starting ...
[2017-09-29T09:01:19,602][INFO ][o.e.t.TransportService   ] [node2] publish_address {MY_VALID_IP:1183}, bound_addresses {0.0.0.0:1183}
[2017-09-29T09:01:19,614][INFO ][o.e.b.BootstrapChecks    ] [node2] bound or publishing to a non-loopback or non-link-local address, enforcing bootstrap checks
ERROR: [3] **bootstrap checks failed**
...
[2017-09-29T09:01:19,708][INFO ][o.e.n.Node               ] [node2] closed

I have tried setting below to true and false, no luck:
bootstrap.system_call_filter: true

Can you please help further?


(David Pilato) #6

You need to fix the 3 problems you have here:

[2017-09-29T09:01:19,614][INFO ][o.e.b.BootstrapChecks    ] [node2] bound or publishing to a non-loopback or non-link-local address, enforcing bootstrap checks
ERROR: [3] **bootstrap checks failed**
...

Sadly you did not share the full logs so I can't help.

But please read https://www.elastic.co/guide/en/elasticsearch/reference/current/bootstrap-checks.html

That should help.


(system) #7

This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.