📣 极限科技诚招搜索运维工程师(Elasticsearch/Easysearch)- 全职/北京 👉 : 立即申请加入

版本: 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.TOO_MANY_REQUESTS);
 }  String jobId = jobTask.getJobId();
 notifyLoadingSnapshot(jobId; autodetectParams);