ElasticSearch:设置外网访问遇到的坑

设置外网访问

  • 更改elasticsearch.yml文件
network.host: 0.0.0.0
http.port: 9200

重新启动结果报错:

ERROR: [2] bootstrap checks failed
[1]: max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
[2]: system call filters failed to install; check the logs and fix your configuration or disable system call filters at your own risk

问题1.max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]

解决方法:切换到root用户修改配置sysctl.conf

vi /etc/sysctl.conf 

添加下面配置(如果没修改过会是一个空文件,直接添加就行):

vm.max_map_count=655360

并执行命令:

sysctl -p

问题2.system call filters failed to install; check the logs and fix your configuration or disable system call filters at your own risk

问题原因:因为Centos6不支持SecComp,而ES5.2.1默认bootstrap.system_call_filter为true进行检测,所以导致检测失败,失败后直接导致ES不能启动。详见 :https://github.com/elastic/elasticsearch/issues/22899

解决方法:在elasticsearch.yml中配置bootstrap.system_call_filter为false,注意要在Memory下面:

bootstrap.memory_lock: false
bootstrap.system_call_filter: false

除此之外其他问题也可能需要修改:

问题3.Caused by: java.lang.RuntimeException: can not run elasticsearch as root

问题原因:不能用root帐户登录ElasticSearch
解决方法https://blog.csdn.net/qq_38486203/article/details/80049724

问题4.max file descriptors [4096] for elasticsearch process likely too low, increase to at least [65536]

问题5.max number of threads [1024] for user [lishang] likely too low, increase to at least [2048]

解决方法:切换到root用户,编辑limits.conf添加类似如下内容

vi /etc/security/limits.conf 

添加如下内容:

soft nofile 65536
hard nofile 131072
soft nproc 2048
hard nproc 4096

问题6.max number of threads [1024] for user [lish] likely too low, increase to at least [2048]

解决方法:切换到root用户,进入limits.d目录下修改配置文件。

vi /etc/security/limits.d/90-nproc.conf 

修改如下内容:

soft nproc 1024

修改为:

soft nproc 2048

没有更多推荐了,返回首页