You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@hbase.apache.org by Dhaval Shah <pr...@yahoo.co.in> on 2012/04/27 18:04:29 UTC
HBase Thrift for CDH3U3 leaking file descriptors/socket connections to Zookeeper
We have an app written in Ruby which uses HBase as the backing store.. It uses
Thrift to connect to it.. We were using HBase from Cloudera's CDH3B4 distro
until
now and it worked fine.. I just upgraded our Hadoop install to CDH3U3 (which is
the latest stable CDH release at this point) and in a matter of hours all Thrift
servers went down..
Upon further investigation I realized that it was hitting the limit on the
number
of allowed file descriptors (which is pretty high at 32k).. This problem occurs
if
I use thrift in any configuration (hsha, framed transport, threadpool) except
the
nonblocking mode.. Digging further I realized a couple of things:
1. Even with light load (1-2 processes hitting the thrift server in quick
succession), thrift is spinning up new threads and each of the threads is
maintaining a socket connection to zookeeper.. In a matter on minutes (with this
load test), thrift has > 32k open connections with > 8k threads having
connection
to zookeeper which do not seem to die even after a day..
2. The logs show approx 3-4 open connections (presumably for each thread):
java 53588 hbase 4135r FIFO 0,6 177426 pipe
java 53588 hbase 4136w FIFO 0,6 177426 pipe
java 53588 hbase 4137r 0000 0,11 0 177427 eventpoll
java 53588 hbase 4138u IPv4 177428 TCP
njhaddev05:49729->njhaddev01:2181 (ESTABLISH
ED)
CDH3B4 with the exact same configurations and the exact same setup works fine
but
CDH3U3 does not.. Using Thrift in nonblocking mode isn't really an option
because
of the low throughput and single threaded nature..
Can someone help please?
Re: HBase Thrift for CDH3U3 leaking file descriptors/socket
connections to Zookeeper
Posted by Harsh J <ha...@cloudera.com>.
HBASE-4508 is in CDH3u3 (per
http://archive.cloudera.com/cdh/3/hbase-0.90.4+49.137.releasenotes.html)
so this probably seems to be something else.
On Fri, Apr 27, 2012 at 10:05 PM, Shrijeet Paliwal
<sh...@rocketfuel.com> wrote:
> From top of my head see if you are hitting
> https://issues.apache.org/jira/browse/HBASE-4508 (and hence
> https://issues.apache.org/jira/browse/HBASE-3777) , 4508 is back port of
> 3777 and has a new config which may help you. Of course it depends on if
> the new hbase version you are running has 4508 or not.
>
> On Fri, Apr 27, 2012 at 9:04 AM, Dhaval Shah <pr...@yahoo.co.in>wrote:
>
>> We have an app written in Ruby which uses HBase as the backing store.. It
>> uses
>> Thrift to connect to it.. We were using HBase from Cloudera's CDH3B4 distro
>> until
>> now and it worked fine.. I just upgraded our Hadoop install to CDH3U3
>> (which is
>> the latest stable CDH release at this point) and in a matter of hours all
>> Thrift
>> servers went down..
>>
>> Upon further investigation I realized that it was hitting the limit on the
>> number
>> of allowed file descriptors (which is pretty high at 32k).. This problem
>> occurs
>> if
>> I use thrift in any configuration (hsha, framed transport, threadpool)
>> except
>> the
>> nonblocking mode.. Digging further I realized a couple of things:
>> 1. Even with light load (1-2 processes hitting the thrift server in quick
>> succession), thrift is spinning up new threads and each of the threads is
>> maintaining a socket connection to zookeeper.. In a matter on minutes
>> (with this
>> load test), thrift has > 32k open connections with > 8k threads having
>> connection
>> to zookeeper which do not seem to die even after a day..
>> 2. The logs show approx 3-4 open connections (presumably for each thread):
>> java 53588 hbase 4135r FIFO 0,6 177426 pipe
>> java 53588 hbase 4136w FIFO 0,6 177426 pipe
>> java 53588 hbase 4137r 0000 0,11 0 177427
>> eventpoll
>> java 53588 hbase 4138u IPv4 177428 TCP
>> njhaddev05:49729->njhaddev01:2181 (ESTABLISH
>> ED)
>>
>> CDH3B4 with the exact same configurations and the exact same setup works
>> fine
>> but
>> CDH3U3 does not.. Using Thrift in nonblocking mode isn't really an option
>> because
>> of the low throughput and single threaded nature..
>>
>> Can someone help please?
>>
>>
--
Harsh J
Re: HBase Thrift for CDH3U3 leaking file descriptors/socket
connections to Zookeeper
Posted by Shrijeet Paliwal <sh...@rocketfuel.com>.
>From top of my head see if you are hitting
https://issues.apache.org/jira/browse/HBASE-4508 (and hence
https://issues.apache.org/jira/browse/HBASE-3777) , 4508 is back port of
3777 and has a new config which may help you. Of course it depends on if
the new hbase version you are running has 4508 or not.
On Fri, Apr 27, 2012 at 9:04 AM, Dhaval Shah <pr...@yahoo.co.in>wrote:
> We have an app written in Ruby which uses HBase as the backing store.. It
> uses
> Thrift to connect to it.. We were using HBase from Cloudera's CDH3B4 distro
> until
> now and it worked fine.. I just upgraded our Hadoop install to CDH3U3
> (which is
> the latest stable CDH release at this point) and in a matter of hours all
> Thrift
> servers went down..
>
> Upon further investigation I realized that it was hitting the limit on the
> number
> of allowed file descriptors (which is pretty high at 32k).. This problem
> occurs
> if
> I use thrift in any configuration (hsha, framed transport, threadpool)
> except
> the
> nonblocking mode.. Digging further I realized a couple of things:
> 1. Even with light load (1-2 processes hitting the thrift server in quick
> succession), thrift is spinning up new threads and each of the threads is
> maintaining a socket connection to zookeeper.. In a matter on minutes
> (with this
> load test), thrift has > 32k open connections with > 8k threads having
> connection
> to zookeeper which do not seem to die even after a day..
> 2. The logs show approx 3-4 open connections (presumably for each thread):
> java 53588 hbase 4135r FIFO 0,6 177426 pipe
> java 53588 hbase 4136w FIFO 0,6 177426 pipe
> java 53588 hbase 4137r 0000 0,11 0 177427
> eventpoll
> java 53588 hbase 4138u IPv4 177428 TCP
> njhaddev05:49729->njhaddev01:2181 (ESTABLISH
> ED)
>
> CDH3B4 with the exact same configurations and the exact same setup works
> fine
> but
> CDH3U3 does not.. Using Thrift in nonblocking mode isn't really an option
> because
> of the low throughput and single threaded nature..
>
> Can someone help please?
>
>