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

Reply via email to