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

where can I find the default value for this storm configurable `topology.worker.timeout.secs`

我在这里找到声明: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) 中找到其默认值。 我正在尝试在我的设置中调整此参数,但需要弄清楚什么是开始的“推荐”值。

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

Topology configurable worker heartbeat timeout before the supervisor tries to restart the worker process. Maximum value constrained by WORKER_MAX_TIMEOUT_SECS. When topology timeout is greater, the following configs are effectively overridden: SUPERVISOR_WORKER_TIMEOUT_SECS, SUPERVISOR_WORKER_START_TIMEOUT_SECS, NIMBUS_TASK_TIMEOUT_SECS and NIMBUS_TASK_LAUNCH_SECS.

因为我也找不到默认值,所以我查看了 nimbus.java:

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_SECSdefault.yaml 中给出了 600 秒,所以我认为这可以作为你的起点。