gpt4 book ai didi

hadoop - 在 hadoop 中通过命令行设置心跳

转载 作者:可可西里 更新时间:2023-11-01 16:48:24 36 4
gpt4 key购买 nike

在hadoop中可以通过命令行设置nodemanager参数的心跳吗?

如何?

是否可以在不重启集群的情况下修改此类参数?

我感兴趣的manage参数是yarn-default.xml下的yarn.resourcemanager.nodemanagers.heartbeat-interval-ms

最佳答案

您不能设置此参数 yarn.resourcemanager.nodemanagers.heartbeat-interval-ms(指示集群中每个 NodeManager 的心跳间隔,以毫秒为单位。)使用命令行。

您可以在 yarn-site.xml 中更改此参数,然后您需要重新启动服务。

原因是,当 Resource Manager 中的 Resource Tracker Service 启动时,该参数只被读取一次。心跳间隔作为 NodeHeartbeatResponse 的一部分返回到 Node Manager

// Heartbeat response
NodeHeartbeatResponse nodeHeartBeatResponse = YarnServerBuilderUtils
.newNodeHeartbeatResponse(lastNodeHeartbeatResponse.
getResponseId() + 1, NodeAction.NORMAL, null, null, null, null,
nextHeartBeatInterval);

上面调用中的参数nextHeartBeatInterval,在Resource Tracker ServiceserviceInit()方法中读取:

nextHeartBeatInterval =
conf.getLong(YarnConfiguration.RM_NM_HEARTBEAT_INTERVAL_MS,
YarnConfiguration.DEFAULT_RM_NM_HEARTBEAT_INTERVAL_MS);
if (nextHeartBeatInterval <= 0) {
throw new YarnRuntimeException("Invalid Configuration. "
+ YarnConfiguration.RM_NM_HEARTBEAT_INTERVAL_MS
+ " should be larger than 0.");
}

此外,yarn.resourcemanager.nodemanagers.heartbeat-interval-ms 的值(默认 1000)应该小于 yarn.nm 的值。 liveness-monitor.expiry-interval-ms(默认 600000)。 yarn.nm.liveness-monitor.expiry-interval-ms 指示等待多长时间,直到节点管理器被认为已死。

在资源管理器的 validateConfigs() 方法中对此进行检查:

// validate expireIntvl >= heartbeatIntvl
long expireIntvl = conf.getLong(YarnConfiguration.RM_NM_EXPIRY_INTERVAL_MS,
YarnConfiguration.DEFAULT_RM_NM_EXPIRY_INTERVAL_MS);
long heartbeatIntvl =
conf.getLong(YarnConfiguration.RM_NM_HEARTBEAT_INTERVAL_MS,
YarnConfiguration.DEFAULT_RM_NM_HEARTBEAT_INTERVAL_MS);
if (expireIntvl < heartbeatIntvl) {
throw new YarnRuntimeException("Nodemanager expiry interval should be no"
+ " less than heartbeat interval, "
+ YarnConfiguration.RM_NM_EXPIRY_INTERVAL_MS + "=" + expireIntvl
+ ", " + YarnConfiguration.RM_NM_HEARTBEAT_INTERVAL_MS + "="
+ heartbeatIntvl);
}

关于hadoop - 在 hadoop 中通过命令行设置心跳,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34720141/

36 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com