--- title: "达到最大运行作业容量 localMaxAllowedRunningJobs - 如何解决此Elasticsearch异常" date: 2026-02-07 lastmod: 2026-02-07 description: "当Elasticsearch达到并发运行作业的最大数量时,会出现此错误。本文介绍如何通过增加最大运行作业限制或优化作业管理来解决这个问题。" tags: ["机器学习", "异常检测", "作业管理", "容量限制"] summary: "版本: 7.2-7.15 简而言之,当Elasticsearch中的并发运行作业数量达到最大值时,就会出现此错误。设置此限制是为了防止系统过载。要解决此问题,您可以在Elasticsearch设置中增加最大运行作业的限制,或者通过确保作业在启动新作业之前完成或关闭来更好地管理您的作业。此外,考虑优化您的作业以更高效地运行,从而释放容量。 日志上下文 # 日志"max running job capacity [" + localMaxAllowedRunningJobs + “] reached"的类名是 AutodetectProcessManager.java。 我们从Elasticsearch源代码中提取了以下内容,供那些寻求深入上下文的人参考: // Closing jobs can still be using some or all threads in MachineLearning.JOB_COMMS_THREAD_POOL_NAME // that an open job uses; so include them too when considering if enough threads are available. int currentRunningJobs = processByAllocation.size(); // TODO: in future this will also need to consider jobs that are not anomaly detector jobs if (currentRunningJobs > localMaxAllowedRunningJobs) { throw new ElasticsearchStatusException("max running job capacity [" + localMaxAllowedRunningJobs + "] reached"; RestStatus." --- > **版本:** 7.2-7.15 简而言之,当Elasticsearch中的并发运行作业数量达到最大值时,就会出现此错误。设置此限制是为了防止系统过载。要解决此问题,您可以在Elasticsearch设置中增加最大运行作业的限制,或者通过确保作业在启动新作业之前完成或关闭来更好地管理您的作业。此外,考虑优化您的作业以更高效地运行,从而释放容量。 日志上下文 ------- 日志"max running job capacity [" + localMaxAllowedRunningJobs + "] reached"的类名是[AutodetectProcessManager.java。](https://www.geeksforgeeks.org/java-lang-class-class-java-set-1/) 我们从Elasticsearch源代码中提取了以下内容,供那些寻求深入上下文的人参考: ```java // Closing jobs can still be using some or all threads in MachineLearning.JOB_COMMS_THREAD_POOL_NAME // that an open job uses; so include them too when considering if enough threads are available. int currentRunningJobs = processByAllocation.size(); // TODO: in future this will also need to consider jobs that are not anomaly detector jobs if (currentRunningJobs > localMaxAllowedRunningJobs) { throw new ElasticsearchStatusException("max running job capacity [" + localMaxAllowedRunningJobs + "] reached"; RestStatus.TOO_MANY_REQUESTS); } String jobId = jobTask.getJobId(); notifyLoadingSnapshot(jobId; autodetectParams); ```