1.要修改的部分
题目的问题解决:
在root下查看和修改
如果当前是普通用户,请 su root命令切换
在root下使用命令:vim /etc/security/limits.conf
# 配置内容 *表示所有用户生效
* soft nofile 65536
* hard nofile 65536
注意:对root用户,直接使用命令查看就是生效的
命令:
ulimit -H -n
但是普通用户需要重新登录才行
所以要exit退出,然后重新登录
再用命令查看是否生效
否则,我个人的经历是root下生效,但普通用户不生效,导致我一度以为es出其他问题了
2.如何知道es启动的问题
es启动往往问题要么是root下启动,这个会报错,要么上面部分的问题
不过,也可能出现其他问题,需要我们查看日志
我们找到logs文件,然后就是找到最新修改时间的log文件(一般我们在yml文件中的path.logs的位置就是),记得是最新的文件,使用vim打开
例如:
[root@hadoop100 logs]# ll
总用量 8
-rw-rw-r--. 1 zhouyu zhouyu 0 3月 20 14:42 elasticsearch_deprecation.log
-rw-rw-r--. 1 zhouyu zhouyu 0 3月 20 14:42 elasticsearch_index_indexing_slowlog.log
-rw-rw-r--. 1 zhouyu zhouyu 0 3月 20 14:42 elasticsearch_index_search_slowlog.log
-rw-rw-r--. 1 zhouyu zhouyu 3707 3月 20 15:38 elasticsearch.log
-rw-rw-r--. 1 zhouyu zhouyu 0 3月 20 14:47 es-cluster_deprecation.log
-rw-rw-r--. 1 zhouyu zhouyu 0 3月 20 14:47 es-cluster_index_indexing_slowlog.log
-rw-rw-r--. 1 zhouyu zhouyu 0 3月 20 14:47 es-cluster_index_search_slowlog.log
-rw-rw-r--. 1 zhouyu zhouyu 3713 3月 20 14:47 es-cluster.log
[root@hadoop100 logs]# vim es-cluster.log
找到最新的log日志:es-cluster.log,使用vim查看
log内容中的提示部分:如下
[2024-03-20T14:47:22,025][ERROR][o.e.b.Bootstrap ] [es-node] node validation exception
[1] bootstrap checks failed
[1]: max file descriptors [4096] for elasticsearch process is too low, increase to at least [65536]
这个就是本文主要讲的部分
又比如:
如果出现问题,继续去log查看,找到如下问题,说明是用root用户启动了es,这就是问题所在
java.lang.RuntimeException: can not run elasticsearch as root
at org.elasticsearch.bootstrap.Bootstrap.initializeNatives(Bootstrap.java:106) ~[elasticsearch-5.6.2.jar:5.6.2]
at org.elasticsearch.bootstrap.Bootstrap.setup(Bootstrap.java:195) ~[elasticsearch-5.6.2.jar:5.6.2]
at org.elasticsearch.bootstrap.Bootstrap.init(Bootstrap.java:342) [elasticsearch-5.6.2.jar:5.6.2]
at org.elasticsearch.bootstrap.Elasticsearch.init(Elasticsearch.java:132) [elasticsearch-5.6.2.jar:5.6.2]
at org.elasticsearch.bootstrap.Elasticsearch.execute(Elasticsearch.java:123) [elasticsearch-5.6.2.jar:5.6.2]
at org.elasticsearch.cli.EnvironmentAwareCommand.execute(EnvironmentAwareComma
综上,本文主要举例表示查看log的方法和重要性,查看log能更好定位,比盲目搜索问题要快些