今天重启es后,发现es服务是启动了,但是实时数据并未写入es数据库,查看日志发现,报错如下图
我看了下正在运行的es程序打开了多少文件(4274是es的pid)
然后再网上搜了很多,说是要调整linux的系统,将open file改成655350,
系统这边open files 只有1024,远远小于137820,所以es报错了,
vim /etc/security/limits.conf
在文档最后添加,使其永久生效
* soft nofile 655350
* hard nofile 655350
我改过后,重启es,es依然报同样的错误,一时不知道怎么办,然后尝试前台启动es后,es正常起来了,
然后,我想起来了,我的es是设置了systemctl 系统服务启动的,然后查看自己的elasticsearch.service文件,如下图
想起来systemctl 服务里面应该要调整es用户最大打开文件数,修改后,完美解决(未修改前只有65535),
translog过多的问题没有解决,然后观察了一会,es打开文件的数量缓慢上升,唉,还是没有真正解决translog问题,再查查资料把!