1.java 版本必须是1.8或者以上,否则不能启动
2.必须修改config/elasticsearch.yml配置中的cluster.name,比如说cluster.name:index_open_search,防止其连接到其他集群
3.必须修改config/elasticsearch.yml配置中的network.host,改为network.host:0.0.0.0这样就能被其他host访问,默认只允许localhost访问,避免连接到其他集群
4.如果启动的时候出现java.lang.UnsupportedOperationException: seccomp unavailable异常,有几个选择
一个是忽略它,因为es尝试使用seccomp来加速启动,但是因为linux内核版本过低不支持,不会影响es的启动和功能。
还可以升级linux内核,当然升级内核很麻烦,可能不是大多数人的选择
最后一个是通过配置文件关闭它,修改config/elasticsearch.yml配置中的bootstrap.system_call_filter: false来关闭启动的seccomp功能
5.如果启动时出现max file decriptors [4096] for elasticsearch process is too low, increase to at least [65536]错误
那么就需要ulimit -n查看一下文件描述符,默认是1024
切换到root账户,编辑vi /etc/security/limits.conf 文件,添加两行:
* soft nofile 65536
* hard nofile 65536
直接重新登陆用ulimit -n就能看到效果
6.如果启动出现max virtual memory areas vm.max_map_count [65530] likely too low, increase to at least [262144]错误
需要使用root用户修改/etc/sysctl.conf 文件
添加:
vm.max_map_count=655360
然后执行命令:
sysctl -p
参考资料:
https://www.cnblogs.com/sloveling/p/elasticsearch.html Elasticsearch5.0 安装问题集锦
http://blog.chinaunix.net/uid-11327712-id-162510.html linux修改文件描述符方法