2021SC@SDUSC
1.NameNode上的线程
Daemon hbthread = null; // HeartbeatMonitor thread
public Daemon lmthread = null; // LeaseMonitor thread
Daemon smmthread = null; // SafeModeMonitor thread
public Daemon replthread = null; // Replication thread
private Daemon dnthread = null;
PendingReplicationBlocks 中也有一个线程:
Daemon timerThread = null;
心跳线程用于对 DataNode 的心态进行检查,以间隔 heartbeatRecheckInterval 运行 heartbeatCheck 方法。如果在一定时间内没收到 DataNode 的心跳信息,我们就认为该节点已经死掉,调用 removeDatanode将 DataNode 标记为无效。
void recoverCreate(Collection<File> dataDirs,
Collection<File> editsDirs) throws IOException
和 FSImage.coverTransitionRead 类似,用于分析现有