--- title: "无法关联新的事务日志 - 如何解决此 Elasticsearch 异常" date: 2026-02-15 lastmod: 2026-02-15 description: "当 Elasticsearch 无法将新的事务日志与索引关联时,会出现此错误。可能原因包括磁盘空间不足、文件权限问题或事务日志损坏。" tags: ["事务日志", "磁盘空间", "文件权限", "数据恢复"] summary: " 版本: 7.8-8 简要来说,当 Elasticsearch 无法将新的事务日志与索引关联时,会发生此错误。这可能是由于磁盘空间问题、文件权限问题或事务日志损坏造成的。要解决此问题,您可以尝试释放磁盘空间、检查并修正文件权限,或删除损坏的事务日志。但是,对于后者要谨慎操作,因为可能会导致数据丢失。在执行此类操作之前,请务必确保已备份。 日志上下文 # 日志 “failed to associate a new translog” 的类名是 SearchableSnapshotIndexEventListener.java。我们从 Elasticsearch 源代码中提取了以下内容,供那些寻求深入上下文的用户参考: final long primaryTerm = indexShard.getPendingPrimaryTerm(); final String translogUUID = segmentInfos.userData.get(Translog.TRANSLOG_UUID_KEY); final Path translogLocation = indexShard.shardPath().resolveTranslog(); Translog.createEmptyTranslog(translogLocation, shardId, localCheckpoint, primaryTerm, translogUUID, null); } catch (Exception e) { throw new TranslogException(shardId, "failed to associate a new translog", e); } } @Override public void beforeIndexRemoved(IndexService indexService, IndexRemovalReason reason) { " --- > **版本:** 7.8-8 简要来说,当 Elasticsearch 无法将新的事务日志与索引关联时,会发生此错误。这可能是由于磁盘空间问题、文件权限问题或事务日志损坏造成的。要解决此问题,您可以尝试释放磁盘空间、检查并修正文件权限,或删除损坏的事务日志。但是,对于后者要谨慎操作,因为可能会导致数据丢失。在执行此类操作之前,请务必确保已备份。 ## 日志上下文 日志 "failed to associate a new translog" 的类名是 [SearchableSnapshotIndexEventListener.java](https://www.geeksforgeeks.org/java-lang-class-class-java-set-1/)。我们从 Elasticsearch 源代码中提取了以下内容,供那些寻求深入上下文的用户参考: ```java final long primaryTerm = indexShard.getPendingPrimaryTerm(); final String translogUUID = segmentInfos.userData.get(Translog.TRANSLOG_UUID_KEY); final Path translogLocation = indexShard.shardPath().resolveTranslog(); Translog.createEmptyTranslog(translogLocation, shardId, localCheckpoint, primaryTerm, translogUUID, null); } catch (Exception e) { throw new TranslogException(shardId, "failed to associate a new translog", e); } } @Override public void beforeIndexRemoved(IndexService indexService, IndexRemovalReason reason) { ```