用了Elasticsearch,一口气上5T

“translog.ckp” 文件NoSuchFileException

Elasticsearch | 作者 ww107 | 发布于2019年12月25日 | 阅读数:2155

之前发过一个帖子https://elasticsearch.cn/question/8984,es运行一段时间后会因为translog.ckp文件找不到而自己崩溃,删掉数据库重启后又会反复。目前的表现是重启后运行到第2天下午2-5点间就会崩溃,每天如此。
 
尝试了大家提到的办法以及能想到的办法(如下),还是没能解决:
1. 提高磁盘空间。目前es所在分区磁盘占用率只有10%,空间应该是够的。
2. 提高CPU和内存。两个都加了一倍,结果还是同样的问题。
3. 增加节点。结果是不同的节点会因为同样的原因挨个崩溃掉。
4. 将代码中api的版本与es的版本统一并且都升级到5.6.1。也是一样会崩溃。有人建议说升级到最新的版本,但是看了maven仓库中api jar包的版本好像最高也就6.0.0,用5.x的jar包连7.5.1的版本根本连不上。
 
实在是没有法子了,被这个诡异的问题折磨了很多天,哪位大牛能帮看看怎么搞,感激不尽......
已邀请:

Charele - Cisco4321

赞同来自:

一 那个贴子里我说了,文件translog.ckp没有了。这里ES的日志文件。
你要做的事是找出文件为什么没有了,是被其它软件误删除了还是别的原因?
是光这一个文件没有了,还是其文件也没有了?
 
如果这个原因一直存在,你换其它版本有用吗?文件还是没有,还是启动不了。
 
二 另外关于你说的第4点,
(这个和你的问题没有关系)
 
既然你的版本现在可以换,为什么不用最新的7.5.1呢?
你说的“但是看了maven仓库中api jar包的版本好像最高也就6.0.0,用5.x的jar包连7.5.1的版本根本连不上“
这个跟本不存在的。所有版本都有的。
 
 
 
 

ww107

赞同来自:

谢谢兄弟的分析!
 
一、很详细的看了日志,并没有看到为什么这个文件会没有了,日志中只是提到"tragic event"也没说原因,把log4j的级别调到all也没看出来。(当然也可能是我太菜了)
 
二、根据你的提醒又去看了下仓库,确实主要的包仓库都有,原来说没有是因为用了一个可能是没必要的jar包,那个包只更新到了6.0.0. 但是这个方法还没走通,升级为7.x版本后eclipse中项目都起不来(用的是jetty),不知道是不是jdk版本的问题,目前用的是1.8. 网上好像说7.x版本的需要jdk9,还在研究怎么搞。
 
除了这两种思路外,还试了一种思路,就是把es装在另一台阿里云服务器上,但是这样连上之后查询速度巨慢。网上有说是因为java api的问题,也没有搞清楚。
 
哎,这个诡异的问题怎么这么难搞啊。。。

要回复问题请先登录注册