Exemplo n.º 1
0
        internal HeartbeatManager(Namesystem namesystem, BlockManager blockManager, Configuration
                                  conf)
        {
            heartbeatThread   = new Daemon(new HeartbeatManager.Monitor(this));
            this.namesystem   = namesystem;
            this.blockManager = blockManager;
            bool avoidStaleDataNodesForWrite = conf.GetBoolean(DFSConfigKeys.DfsNamenodeAvoidStaleDatanodeForWriteKey
                                                               , DFSConfigKeys.DfsNamenodeAvoidStaleDatanodeForWriteDefault);
            long recheckInterval = conf.GetInt(DFSConfigKeys.DfsNamenodeHeartbeatRecheckIntervalKey
                                               , DFSConfigKeys.DfsNamenodeHeartbeatRecheckIntervalDefault);
            // 5 min
            long staleInterval = conf.GetLong(DFSConfigKeys.DfsNamenodeStaleDatanodeIntervalKey
                                              , DFSConfigKeys.DfsNamenodeStaleDatanodeIntervalDefault);

            // 30s
            if (avoidStaleDataNodesForWrite && staleInterval < recheckInterval)
            {
                this.heartbeatRecheckInterval = staleInterval;
                Log.Info("Setting heartbeat recheck interval to " + staleInterval + " since " + DFSConfigKeys
                         .DfsNamenodeStaleDatanodeIntervalKey + " is less than " + DFSConfigKeys.DfsNamenodeHeartbeatRecheckIntervalKey
                         );
            }
            else
            {
                this.heartbeatRecheckInterval = recheckInterval;
            }
        }
Exemplo n.º 2
0
 internal DecommissionManager(Namesystem namesystem, BlockManager blockManager, HeartbeatManager
                              hbManager)
 {
     this.namesystem   = namesystem;
     this.blockManager = blockManager;
     this.hbManager    = hbManager;
     executor          = Executors.NewScheduledThreadPool(1, new ThreadFactoryBuilder().SetNameFormat
                                                              ("DecommissionMonitor-%d").SetDaemon(true).Build());
     decomNodeBlocks = new SortedDictionary <DatanodeDescriptor, AbstractList <BlockInfoContiguous
                                                                               > >();
     pendingNodes = new List <DatanodeDescriptor>();
 }