With HBASE-10569, all masters are implicitly also region servers (both active master and backup masterS), and can host regions (depending on load balancer settings). Region server process can't become a master, backup masters are regular hbase masters, which just happened to not be chosen as active masters, so they are waiting for next re-election.
If you look at org.apache.hadoop.hbase.master.HMaster class, in its constructor it calls #startActiveMasterManager method, it's where the startup logic happens. An HMaster tries to become active master (unless explicitly started with configuration param master.type.backup=true), if it succeeded - it calls #finishActiveMasterInitialization, where actual activation happens (in this sense, takeover of primary master role by backup master isn't different from starting new master on fresh cluster first time), otherwise it stalls and waits for the active master to fail. In finishActiveMasterInitialization() method, primary steps are described in javadoc: /** * Finish initialization of HMaster after becoming the primary master. * * <ol> * <li>Initialize master components - file system manager, server manager, * assignment manager, region server tracker, etc</li> * <li>Start necessary service threads - balancer, catalog janior, * executor services, etc</li> * <li>Set cluster as UP in ZooKeeper</li> * <li>Wait for RegionServers to check-in</li> * <li>Split logs and perform data recovery, if necessary</li> * <li>Ensure assignment of meta/namespace regions<li> * <li>Handle either fresh cluster start or master failover</li> * </ol> Hope it helps. -Mikhail 2014-07-03 1:06 GMT-07:00 yl wu <[email protected]>: > Hi Mikhail, > > Thank you very much for your quick reply. > I understand the process you mentioned. What I am confued is that, how this > new one takes over the responsibilities in details? By the way, what is the > physical relationship between backup masters and the region servers? Can a > region server becomes a master? > > I'm sorry that maybe my questions are simple. But I have searched answers > for a long time. > > Thank you very much. > > Best, > Yanglin > > > > > > 2014-07-03 15:45 GMT+08:00 Mikhail Antonov <[email protected]>: > > > Hi Yanglin, > > > > what exactly do you mean by "system..need to take any failover" - any > > manual action by cluster admin? Failover happens automatically based on > > zookeeper timeout for current active master. Currently, hbase cluster > has 1 > > active master and several backup masters. When backup masters notice > active > > master going down, they elect new one, and the new one takes over > > responsibilities. > > > > -Mikhail > > > > > > 2014-07-03 0:40 GMT-07:00 yl wu <[email protected]>: > > > > > Hi All, > > > > > > I've read many articles, including Bertozzi's Who needs a Master, but I > > am > > > still confused about the Hmaster. > > > > > > If the Hmaster goes down, does the system need to take any failover ? > > > Or just elect a new master, and the new one can restore all the > > information > > > from hbase:meta? > > > > > > Best regards, > > > Yanglin > > > > > > > > > > > -- > > Thanks, > > Michael Antonov > > > -- Thanks, Michael Antonov
