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.

2014-07-03 1:06 GMT-07:00 yl wu <[EMAIL PROTECTED]>:
Michael Antonov

NEW: Monitor These Apps!
elasticsearch, apache solr, apache hbase, hadoop, redis, casssandra, amazon cloudwatch, mysql, memcached, apache kafka, apache zookeeper, apache storm, ubuntu, centOS, red hat, debian, puppet labs, java, senseiDB