问题
I am trying to setup elasticsearch cluster with 2 virtual machines. I am not able to configure the cluster transport service with an external interface. I could able to use localhost:9300 as transport service, but I cannot use localhost URL to join the cluster. It is throwing an error when I use external interface name/IP to configure the cluster.
[2017-12-22T06:58:56,979][INFO ][o.e.t.TransportService ] [node-1] publish_address {10.0.1.33:9300}, bound_addresses {10.0.1.33:9300}
[2017-12-22T06:58:56,997][INFO ][o.e.b.BootstrapChecks ] [node-1] bound or publishing to a non-loopback or non-link-local address, enforcing bootstrap checks
[2017-12-22T06:58:57,002][ERROR][o.e.b.Bootstrap ] [node-1] node validation exception
[2] bootstrap checks failed
My configuration:
cluster.name: ProductionCluster
node.name: node-1
network.host: 10.0.1.33
http.port: 9200
discovery.zen.ping.unicast.hosts: ["10.0.1.33","10.0.1.34"]
bootstrap.system_call_filter: false
path.data: /var/lib/elasticsearch
path.logs: /var/log/elasticsearch
Elasticsearch Version: 6.1
回答1:
If you configure an external interface, you're considered to be in "production mode" and bootstrap checks are automatically enforced. Can you show which bootstrap checks are failing?
The error mentions that the max number of threads [2048] for user [elasticsearch] is too low
and you need to increase to at least [4096]
You can find how to do it here: https://www.elastic.co/guide/en/elasticsearch/reference/current/max-number-threads-check.html
来源:https://stackoverflow.com/questions/47939234/unable-to-bind-elasticsearch-transport-service-to-external-interface