blob: 17e8d522c0c2aeecfdaa4015335b1fe51e8243d2 [file] [log] [blame]
package org.apache.hadoop.yarn.server.resourcemanager;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.yarn.SystemClock;
import org.apache.hadoop.yarn.api.records.NodeId;
import org.apache.hadoop.yarn.event.Dispatcher;
import org.apache.hadoop.yarn.event.EventHandler;
import org.apache.hadoop.yarn.server.resourcemanager.rmnode.RMNodeEvent;
import org.apache.hadoop.yarn.server.resourcemanager.rmnode.RMNodeEventType;
import org.apache.hadoop.yarn.util.AbstractLivelinessMonitor;
public class NMLivelinessMonitor extends AbstractLivelinessMonitor<NodeId> {
private EventHandler dispatcher;
public NMLivelinessMonitor(Dispatcher d) {
super("NMLivelinessMonitor", new SystemClock());
this.dispatcher = d.getEventHandler();
}
public void init(Configuration conf) {
super.init(conf);
setExpireInterval(conf.getInt(RMConfig.NM_EXPIRY_INTERVAL,
RMConfig.DEFAULT_NM_EXPIRY_INTERVAL));
setMonitorInterval(conf.getInt(
RMConfig.NMLIVELINESS_MONITORING_INTERVAL,
RMConfig.DEFAULT_NMLIVELINESS_MONITORING_INTERVAL));
}
@Override
protected void expire(NodeId id) {
dispatcher.handle(
new RMNodeEvent(id, RMNodeEventType.EXPIRE));
}
}