hbase-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Evgeny Ryabitskiy (JIRA)" <j...@apache.org>
Subject [jira] Commented: (HBASE-1110) Distribute the master role to HRS after ZK integration
Date Sun, 10 May 2009 15:52:45 GMT

    [ https://issues.apache.org/jira/browse/HBASE-1110?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12707806#action_12707806

Evgeny Ryabitskiy commented on HBASE-1110:

About first idea (State sharing)
It is cool idea! I was imagining something like that... going to do something for load balancing
using ZK sync and Region local closing for balance (not master central closing like it is
done now)

About second idea (Ephemeral znodes for region ownership)

??Each row in the ROOT and META tables is approximately 1KB in size. At the default region
size of 256MB, this means that the ROOT region can map 2.6 x 10^5 META regions, which in turn
map a total 6.9 x 10^10 user regions....??

So you are going to make 6.9 x 10^10 zNodes for each Region, where will be put 6.9 x 10^10
Ephemeral zNodes about Region assignment, in this case? not sure but looks too much for me....
 so I think we should find another solution

Third idea (distributed queue for region assignment ) is nice too
So HRS can take regions for assignment by their own. 
One problem is that we need someone to put not assigned regions in that queue. Not sure about
second idea.. if we can contain information about all Regions assignment in ZK.... 
at least we can use master (or HRS leader) to put unassigned regions in this queue

About log splitting... we can give task for log split to some of HRS... and make a mark about
this task in ZK... So after this task is done (mark in ZK changes state to "DONE") regions
are ready for assignment.

Just some ideas.. thoughts... maybe can be useful... 

> Distribute the master role to HRS after ZK integration
> ------------------------------------------------------
>                 Key: HBASE-1110
>                 URL: https://issues.apache.org/jira/browse/HBASE-1110
>             Project: Hadoop HBase
>          Issue Type: Improvement
>            Reporter: Andrew Purtell
>            Priority: Minor
> After ZK integration, the master role can be distributed out to the HRS as group behaviors
mediated by synchronization and rendezvous points in ZK.
> - State sharing, for example load.
>    -- Load information can be shared with neighbors via ephemeral child status znodes
of a znode representing the cluster root.
>    -- Region servers can periodically walk the status nodes of their neighbors. If they
find themselves loaded relative to others, they can release regions. If they find themselves
less loaded relative to others, they can be more aggressive about finding unassigned regions
(see below).
> - Ephemeral znodes for region ownership, e.g. /hbase//<region>/<ephemeral-node>
>   -- Use a permanent child of <region> to serve as a 'dirty' flag, removed during
normal close.
> - A distributed queue for region assignment. 
>   -- When coming up, HRS can check the assignment queue for candidates.
>   -- HRS shutdown includes marking regions clean and moving them onto assignment queue.
>   -- All/any HRS can do occasional random walks over region leases looking for expired-dirty
state (when timeout causes ZK to delete the ephemeral node representing the lease), and can
helpfully move them first to a queue (+ barrier) for splitting then onto the assignment queue.

This message is automatically generated by JIRA.
You can reply to this email to add a comment to the issue online.

View raw message