为什么这个错误发生 #
truncated_translog_exception 表示事务日志(translog)文件被截断或损坏。事务日志用于确保数据 durability。
这个错误可能由以下原因引起:
- 磁盘空间不足:写入时磁盘空间耗尽
- 异常关闭:节点异常关闭导致 translog 不完整
- 文件系统错误:底层文件系统错误
- 磁盘故障:磁盘硬件故障
如何修复这个错误 #
1. 检查磁盘空间 #
# 检查磁盘使用
df -h
# 清理空间
2. 尝试恢复分片 #
# 触发分片恢复
POST /_cluster/reroute?retry_failed=true
3. 从副本恢复 #
# 如果有健康副本,可以从副本恢复
4. 从快照恢复 #
# 从快照恢复索引
POST /_snapshot/<repo>/<snap>/_restore
{
"indices": "<index>"
}
预防措施 #
- 确保充足的磁盘空间
- 监控 translog 大小
- 使用 RAID 保护数据





