首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在哪里可以找到这个风暴可配置`topology.worker.timeout.secs`的默认值?

在哪里可以找到这个风暴可配置`topology.worker.timeout.secs`的默认值?
EN

Stack Overflow用户
提问于 2021-06-23 17:38:35
回答 1查看 109关注 0票数 0

我在这里找到声明:https://github.com/apache/storm/blob/3f96c249cbc17ce062491bfbb39d484e241ab168/storm-client/src/jvm/org/apache/storm/Config.java#L1161,但无法从yaml (https://github.com/apache/storm/blob/b6e7d0355e0397b8acc566961ed31279338998e1/conf/defaults.yaml)中找到它的默认值。我试图在我的设置中调优这个参数,但是需要弄清楚什么是“推荐的”值。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-06-24 11:26:18

关于topology.worker.timeout.secs的评论说:

拓扑,可配置工作者心跳超时,然后主管尝试重新启动工作进程。最大值受WORKER_MAX_TIMEOUT_SECS约束。当拓扑超时更大时,会有效地覆盖以下信任:SUPERVISOR_WORKER_TIMEOUT_SECSSUPERVISOR_WORKER_START_TIMEOUT_SECSNIMBUS_TASK_TIMEOUT_SECSNIMBUS_TASK_LAUNCH_SECS

由于我也找不到默认值,所以我查看了nimbus.java

代码语言:javascript
复制
if (mergedConf.containsKey(Config.TOPOLOGY_WORKER_TIMEOUT_SECS)) {
  int workerTimeoutSecs = (Integer) ObjectReader.getInt(mergedConf.get(Config.TOPOLOGY_WORKER_TIMEOUT_SECS));
  int workerMaxTimeoutSecs = (Integer) ObjectReader.getInt(mergedConf.get(Config.WORKER_MAX_TIMEOUT_SECS));
  if (workerTimeoutSecs > workerMaxTimeoutSecs) {
      ret.put(Config.TOPOLOGY_WORKER_TIMEOUT_SECS, workerMaxTimeoutSecs);
      ...
  }
}

但是这个键并不包含在任何地方,而且当我通过nimbus调试并计算这个配置时,我得到了null,这意味着这个值永远不会被设置。

WORKER_MAX_TIMEOUT_SECS default.yaml**,中,查看的时间为600秒,因此我认为这可能是您的起点。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68104710

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档