<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>Hbase on Insignificant Bits</title>
    <link>https://bobcopeland.com/blog/tags/hbase/</link>
    <description>Recent content in Hbase on Insignificant Bits</description>
    <generator>Hugo</generator>
    <language>en-US</language>
    <lastBuildDate>Wed, 25 Apr 2012 12:58:01 +0000</lastBuildDate>
    <atom:link href="https://bobcopeland.com/blog/tags/hbase/feed.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Graphing HBase Splits</title>
      <link>https://bobcopeland.com/blog/2012/04/graphing-hbase-splits/</link>
      <pubDate>Wed, 25 Apr 2012 12:58:01 +0000</pubDate>
       <guid isPermaLink="false">http://bobcopeland.com/blog/?p=1813</guid> 
      <description>&lt;p&gt;I was asked for a blog post on this topic. I also do birthdays!&lt;/p&gt;
&lt;p&gt;HBase achieves balance by splitting regions when they reach a certain size, and by evenly distributing the number of regions among cluster machines. However, the balancer will not run in some cases (e.g. if there are regions stuck in transition), and balancing the number of regions alone may not help if region sizes are not mostly the same size. If a region server is hosting more regions than the others, requests to that server experience higher latency, and batch (map-reduce) jobs take longer to complete due to parallel skew.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Parsing HRegionInfo in Python</title>
      <link>https://bobcopeland.com/blog/2012/02/parsing-hregioninfo-in-python/</link>
      <pubDate>Thu, 16 Feb 2012 13:44:12 +0000</pubDate>
       <guid isPermaLink="false">http://bobcopeland.com/blog/?p=1790</guid> 
      <description>&lt;p&gt;I&amp;rsquo;ve been doing a fair amount of HBase work lately at $work, not least of which is &lt;a href=&#34;https://github.com/bcopeland/pybase&#34;&gt;pybase&lt;/a&gt;, a python module that encapsulates Thrift and puts it under an API that looks more or less like the Cassandra wrapper &lt;a href=&#34;https://github.com/pycassa/pycassa&#34;&gt;pycassa&lt;/a&gt; (which we also use).&lt;/p&gt;
&lt;p&gt;When running an HBase cluster, one must very quickly learn the stack from top to bottom and be ready to fix the metadata when catastrophe strikes. Most of the necessary information about HBase regions is stored in the .META. table; unfortunately some of the values therein are serialized HBase Writables. One usually uses JRuby and directly loads Java classes to deal with the deserialization, but we&amp;rsquo;re a Python shop and doing it all over thrift would be ideal.&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
