You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@hbase.apache.org by "Erik Holstad (JIRA)" <ji...@apache.org> on 2009/08/09 06:43:15 UTC

[jira] Created: (HBASE-1755) Putting 'Meta' table into ZooKeeper

Putting 'Meta' table into ZooKeeper
-----------------------------------

                 Key: HBASE-1755
                 URL: https://issues.apache.org/jira/browse/HBASE-1755
             Project: Hadoop HBase
          Issue Type: Improvement
    Affects Versions: 0.21.0
            Reporter: Erik Holstad
             Fix For: 0.21.0


Talking at the hackathon about moving the Meta table into ZooKeeper.

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


[jira] Commented: (HBASE-1755) Putting 'Meta' table into ZooKeeper

Posted by "stack (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HBASE-1755?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12755055#action_12755055 ] 

stack commented on HBASE-1755:
------------------------------

"ZooKeeper was not designed to be a general database or large object store. Instead, it manages coordination data. This data can come in the form of configuration, status information, rendezvous, etc. A common property of the various forms of coordination data is that they are relatively small: measured in kilobytes. The ZooKeeper client and the server implementations have sanity checks to ensure that znodes have less than 1M of data, but the data should be much less than that on average. Operating on relatively large data sizes will cause some operations to take much more time than others and will affect the latencies of some operations because of the extra time needed to move more data over the network and onto storage media. If large data storage is needed, the usually pattern of dealing with such data is to store it on a bulk storage system, such as NFS or HDFS, and store pointers to the storage locations in ZooKeeper."  http://hadoop.apache.org/zookeeper/docs/r3.2.1/zookeeperProgrammers.html

> Putting 'Meta' table into ZooKeeper
> -----------------------------------
>
>                 Key: HBASE-1755
>                 URL: https://issues.apache.org/jira/browse/HBASE-1755
>             Project: Hadoop HBase
>          Issue Type: Improvement
>    Affects Versions: 0.21.0
>            Reporter: Erik Holstad
>             Fix For: 0.21.0
>
>
> Talking at the hackathon about moving the Meta table into ZooKeeper.

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


[jira] Updated: (HBASE-1755) Putting 'Meta' table into ZooKeeper

Posted by "stack (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/HBASE-1755?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

stack updated HBASE-1755:
-------------------------

      Description: Moving to 0.22.0  (was: Talking at the hackathon about moving the Meta table into ZooKeeper.)
    Fix Version/s:     (was: 0.21.0)
                   0.22.0

> Putting 'Meta' table into ZooKeeper
> -----------------------------------
>
>                 Key: HBASE-1755
>                 URL: https://issues.apache.org/jira/browse/HBASE-1755
>             Project: Hadoop HBase
>          Issue Type: Improvement
>    Affects Versions: 0.21.0
>            Reporter: Erik Holstad
>             Fix For: 0.22.0
>
>
> Moving to 0.22.0

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


[jira] Commented: (HBASE-1755) Putting 'Meta' table into ZooKeeper

Posted by "Erik Holstad (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HBASE-1755?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12741022#action_12741022 ] 

Erik Holstad commented on HBASE-1755:
-------------------------------------

Did some small testing to see how a node with a lot of children would be have and what the memory usage would be.
These numbers were produced by running a single ZooKeeper node on my laptop and will be further tested on a bigger cluster
in the beginning  of next week, but just wanted to get some rough numbers.

Inserted 10000 children and it didn't seem to cause any issues. Approximate  memory usage for this insert seemed to be around 6MB, so about 600B/node which seems kinda reasonable when looking at the DataNode.java code in ZooKeeper.


> Putting 'Meta' table into ZooKeeper
> -----------------------------------
>
>                 Key: HBASE-1755
>                 URL: https://issues.apache.org/jira/browse/HBASE-1755
>             Project: Hadoop HBase
>          Issue Type: Improvement
>    Affects Versions: 0.21.0
>            Reporter: Erik Holstad
>             Fix For: 0.21.0
>
>
> Talking at the hackathon about moving the Meta table into ZooKeeper.

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


[jira] Commented: (HBASE-1755) Putting 'Meta' table into ZooKeeper

Posted by "Jonathan Gray (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HBASE-1755?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12755615#action_12755615 ] 

Jonathan Gray commented on HBASE-1755:
--------------------------------------

Each HRI, unoptimized, is probably about 400 bytes.  If we minimally binary encode it, we're probably talking closer to 100-150 bytes for all the information of a region.  Add another 32 bytes of overhead from the object itself, and call it 200 bytes per region at the high end.  I don't think historian belongs in ZK at all.

This is small, meta data.  Several orders of magnitude smaller than 1M, and well below even 1K.  These are not large objects.

I do believe this could be a big win for two reasons.  One, HBase has no db-level replication so requests for a segment of META will always go to a single node (this is the reason we still use _some_ key/val caching at streamy on top of HBase for the most commonly read rows).  Zookeeper replicates the data across all nodes so reads are fully-distributed.  Two, the code dealing with .META. is nasty and has always caused problems.  Doing something like alternate row order (ascending, for example) would be rather easy if done in ZK vs how we do it now.  

However, META as a special table in HBase does work now (and is not really a bottleneck yet)...

So I vote to bump further discussion of this to 0.22.  I'd like to get to the next release ASAP and there is a beast of a problem to solve (with ZK help) in our current assignment/cluster task/load balancing systems before moving META to ZK, if ever.  If there was actual load balancing in HBase that balanced read load, it would help with both META as well as normal tables and potentially remove almost all need for caching outside of HBase.

> Putting 'Meta' table into ZooKeeper
> -----------------------------------
>
>                 Key: HBASE-1755
>                 URL: https://issues.apache.org/jira/browse/HBASE-1755
>             Project: Hadoop HBase
>          Issue Type: Improvement
>    Affects Versions: 0.21.0
>            Reporter: Erik Holstad
>             Fix For: 0.21.0
>
>
> Talking at the hackathon about moving the Meta table into ZooKeeper.

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


[jira] Commented: (HBASE-1755) Putting 'Meta' table into ZooKeeper

Posted by "Jonathan Gray (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HBASE-1755?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12755681#action_12755681 ] 

Jonathan Gray commented on HBASE-1755:
--------------------------------------

Not sure why it needs to be human-readable but don't have a strong opinion about it.  You should be modifying with API or shell, not by editing json by hand?  KV is not "human-readable" but doesn't mean we don't have a toString() human-readable form, etc.

> Putting 'Meta' table into ZooKeeper
> -----------------------------------
>
>                 Key: HBASE-1755
>                 URL: https://issues.apache.org/jira/browse/HBASE-1755
>             Project: Hadoop HBase
>          Issue Type: Improvement
>    Affects Versions: 0.21.0
>            Reporter: Erik Holstad
>             Fix For: 0.22.0
>
>
> Moving to 0.22.0

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


[jira] Commented: (HBASE-1755) Putting 'Meta' table into ZooKeeper

Posted by "stack (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HBASE-1755?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12755697#action_12755697 ] 

stack commented on HBASE-1755:
------------------------------

human readable for debugging's sake

> Putting 'Meta' table into ZooKeeper
> -----------------------------------
>
>                 Key: HBASE-1755
>                 URL: https://issues.apache.org/jira/browse/HBASE-1755
>             Project: Hadoop HBase
>          Issue Type: Improvement
>    Affects Versions: 0.21.0
>            Reporter: Erik Holstad
>             Fix For: 0.22.0
>
>
> Moving to 0.22.0

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


[jira] Commented: (HBASE-1755) Putting 'Meta' table into ZooKeeper

Posted by "stack (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HBASE-1755?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12755676#action_12755676 ] 

stack commented on HBASE-1755:
------------------------------

HRI should shrink considerably when we have it reference table descriptor and column descriptors kept elsewhere in zk.  -1 on binary encoding.  Needs to be human readable, json?, if up in zk.  But yeah, data should be getting smaller.

(Chatting w/ J-D, we're thinking of dropping historian as a feature before its time and heavy-duty keeping it up in the meantime).

Point taken on distribution.

Agree to moving out of 0.21.




> Putting 'Meta' table into ZooKeeper
> -----------------------------------
>
>                 Key: HBASE-1755
>                 URL: https://issues.apache.org/jira/browse/HBASE-1755
>             Project: Hadoop HBase
>          Issue Type: Improvement
>    Affects Versions: 0.21.0
>            Reporter: Erik Holstad
>             Fix For: 0.21.0
>
>
> Talking at the hackathon about moving the Meta table into ZooKeeper.

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