Hey guys,as I sent in an email a long time ago, the RSs in my cluster did not get alongand crashed 3 times a day. I tried a lot of options we discussed in theemails, but it not solved the problem. As I used an old version of hadoop Ithought this was the problem.

Unfortunately the RSs did not stop crashing, and worst! Now they crash everyhour and some times when the RS that holds the .ROOT. crashes all cluster getstuck in transition and everything stops working.In this case I need to clean zookeeper znodes, restart the master and the RSs.To avoid this case I am running on production with only ONE RS and a monitoringscript that check every minute, if the RS is ok. If not, restart it.* This case does not get the cluster stuck.

This is driving me crazy, but I really cant find a solution for the cluster.I tracked all logs from the start time 16:49 from all interesting nodes (zoo,namenode, master, rs, dn2, dn9, dn10) and copied here what I think is usefull.

There are some strange errors in the DATANODE2, as an error copiyng a blockto itself.

The gc log points to GC timeout. However it is very weird that the RS spendso much time in GC while in the other cases it takes 0.001sec. Besides, the timespent, is in sys which makes me think that might be a problem in another place.

I know that it is a bunch of logs, and that it is very difficult to find theproblem without much context. But I REALLY need some help. If it is not thesolution, at least what I should read, where I should look, or which cases Ishould monitor.

> Hey guys,> as I sent in an email a long time ago, the RSs in my cluster did not get> along> and crashed 3 times a day. I tried a lot of options we discussed in the> emails, but it not solved the problem. As I used an old version of hadoop I> thought this was the problem.>> So, I upgraded from hadoop 0.20 - hbase 0.90 - zookeeper 3.3.5 to hadoop> 2.0.0> - hbase 0.94 - zookeeper 3.4.5.>> Unfortunately the RSs did not stop crashing, and worst! Now they crash> every> hour and some times when the RS that holds the .ROOT. crashes all cluster> get> stuck in transition and everything stops working.> In this case I need to clean zookeeper znodes, restart the master and the> RSs.> To avoid this case I am running on production with only ONE RS and a> monitoring> script that check every minute, if the RS is ok. If not, restart it.> * This case does not get the cluster stuck.>> This is driving me crazy, but I really cant find a solution for the> cluster.> I tracked all logs from the start time 16:49 from all interesting nodes> (zoo,> namenode, master, rs, dn2, dn9, dn10) and copied here what I think is> usefull.>> There are some strange errors in the DATANODE2, as an error copiyng a block> to itself.>> The gc log points to GC timeout. However it is very weird that the RS spend> so much time in GC while in the other cases it takes 0.001sec. Besides,> the time> spent, is in sys which makes me think that might be a problem in another> place.>> I know that it is a bunch of logs, and that it is very difficult to find> the> problem without much context. But I REALLY need some help. If it is not the> solution, at least what I should read, where I should look, or which cases> I> should monitor.>> Thank you very much,> Pablo Musa>

I think it is with your GC config. What is your heap size? What is thedata that you pump in and how much is the block cache size?

RegardsRam

On Fri, Mar 8, 2013 at 9:31 PM, Ted Yu <[EMAIL PROTECTED]> wrote:

> 0.94 currently doesn't support hadoop 2.0>> Can you deploy hadoop 1.1.1 instead ?>> Are you using 0.94.5 ?>> Thanks>> On Fri, Mar 8, 2013 at 7:44 AM, Pablo Musa <[EMAIL PROTECTED]> wrote:>> > Hey guys,> > as I sent in an email a long time ago, the RSs in my cluster did not get> > along> > and crashed 3 times a day. I tried a lot of options we discussed in the> > emails, but it not solved the problem. As I used an old version of> hadoop I> > thought this was the problem.> >> > So, I upgraded from hadoop 0.20 - hbase 0.90 - zookeeper 3.3.5 to hadoop> > 2.0.0> > - hbase 0.94 - zookeeper 3.4.5.> >> > Unfortunately the RSs did not stop crashing, and worst! Now they crash> > every> > hour and some times when the RS that holds the .ROOT. crashes all cluster> > get> > stuck in transition and everything stops working.> > In this case I need to clean zookeeper znodes, restart the master and the> > RSs.> > To avoid this case I am running on production with only ONE RS and a> > monitoring> > script that check every minute, if the RS is ok. If not, restart it.> > * This case does not get the cluster stuck.> >> > This is driving me crazy, but I really cant find a solution for the> > cluster.> > I tracked all logs from the start time 16:49 from all interesting nodes> > (zoo,> > namenode, master, rs, dn2, dn9, dn10) and copied here what I think is> > usefull.> >> > There are some strange errors in the DATANODE2, as an error copiyng a> block> > to itself.> >> > The gc log points to GC timeout. However it is very weird that the RS> spend> > so much time in GC while in the other cases it takes 0.001sec. Besides,> > the time> > spent, is in sys which makes me think that might be a problem in another> > place.> >> > I know that it is a bunch of logs, and that it is very difficult to find> > the> > problem without much context. But I REALLY need some help. If it is not> the> > solution, at least what I should read, where I should look, or which> cases> > I> > should monitor.> >> > Thank you very much,> > Pablo Musa> >>

> I think it is with your GC config. What is your heap size? What is the> data that you pump in and how much is the block cache size?>> Regards> Ram>> On Fri, Mar 8, 2013 at 9:31 PM, Ted Yu <[EMAIL PROTECTED]> wrote:>> > 0.94 currently doesn't support hadoop 2.0> >> > Can you deploy hadoop 1.1.1 instead ?> >> > Are you using 0.94.5 ?> >> > Thanks> >> > On Fri, Mar 8, 2013 at 7:44 AM, Pablo Musa <[EMAIL PROTECTED]> wrote:> >> > > Hey guys,> > > as I sent in an email a long time ago, the RSs in my cluster did not> get> > > along> > > and crashed 3 times a day. I tried a lot of options we discussed in the> > > emails, but it not solved the problem. As I used an old version of> > hadoop I> > > thought this was the problem.> > >> > > So, I upgraded from hadoop 0.20 - hbase 0.90 - zookeeper 3.3.5 to> hadoop> > > 2.0.0> > > - hbase 0.94 - zookeeper 3.4.5.> > >> > > Unfortunately the RSs did not stop crashing, and worst! Now they crash> > > every> > > hour and some times when the RS that holds the .ROOT. crashes all> cluster> > > get> > > stuck in transition and everything stops working.> > > In this case I need to clean zookeeper znodes, restart the master and> the> > > RSs.> > > To avoid this case I am running on production with only ONE RS and a> > > monitoring> > > script that check every minute, if the RS is ok. If not, restart it.> > > * This case does not get the cluster stuck.> > >> > > This is driving me crazy, but I really cant find a solution for the> > > cluster.> > > I tracked all logs from the start time 16:49 from all interesting nodes> > > (zoo,> > > namenode, master, rs, dn2, dn9, dn10) and copied here what I think is> > > usefull.> > >> > > There are some strange errors in the DATANODE2, as an error copiyng a> > block> > > to itself.> > >> > > The gc log points to GC timeout. However it is very weird that the RS> > spend> > > so much time in GC while in the other cases it takes 0.001sec. Besides,> > > the time> > > spent, is in sys which makes me think that might be a problem in> another> > > place.> > >> > > I know that it is a bunch of logs, and that it is very difficult to> find> > > the> > > problem without much context. But I REALLY need some help. If it is not> > the> > > solution, at least what I should read, where I should look, or which> > cases> > > I> > > should monitor.> > >> > > Thank you very much,> > > Pablo Musa> > >> >>

I am using cdh4.2.0 which uses this version as default installation.I think it will be a problem for me to deploy 1.1.1 because I would need to"upgrade" the whole cluster with 70TB of data (backup everything, go offline, etc.).

Is there a problem to use cdh4.2.0?I should send my email to cdh list?

> Are you using 0.94.5 ?

I am using 0.94.2.

> I think it is with your GC config. What is your heap size? What is the> data that you pump in and how much is the block cache size?

> 0.94 currently doesn't support hadoop 2.0>> Can you deploy hadoop 1.1.1 instead ?>>>> I am using cdh4.2.0 which uses this version as default installation.> I think it will be a problem for me to deploy 1.1.1 because I would need to> "upgrade" the whole cluster with 70TB of data (backup everything, go> offline, etc.).>> Is there a problem to use cdh4.2.0?> I should send my email to cdh list?>>That combo should be fine.> You Full GC'ing around this time?>>>> The GC shows it took a long time. However it does not make any sense> to be it, since the same ammount of data was cleaned before and AFTER> in just 0.01 secs!>>If JVM is full GC'ing, the application is stopped.>> [Times: user=0.08 sys=137.62, real=137.62 secs]>> Besides the whole time was used by system. That is what is bugging me.>>The below does not look like a full GC but that is a long pause in systemtime, enough to kill your zk session.

You swapping?

Hardware is good?

St.Ack

> ...>>> 1044.081: [GC 1044.081: [ParNew: 58970K->402K(59008K), 0.0040990 secs]> 275097K->216577K(1152704K), 0.0041820 secs] [Times: user=0.03 sys=0.00,> real=0.01 secs]>> 1087.319: [GC 1087.319: [ParNew: 52873K->6528K(59008K), 0.0055000 secs]> 269048K->223592K(1152704K), 0.0055930 secs] [Times: user=0.04 sys=0.01,> real=0.00 secs]>> 1087.834: [GC 1087.834: [ParNew: 59008K->6527K(59008K), 137.6353620> secs] 276072K->235097K(1152704K), 137.6354700 secs] [Times: user=0.08> sys=137.62, real=137.62 secs]>> 1226.638: [GC 1226.638: [ParNew: 59007K->1897K(59008K), 0.0079960 secs]> 287577K->230937K(1152704K), 0.0080770 secs] [Times: user=0.05 sys=0.00,> real=0.01 secs]>> 1227.251: [GC 1227.251: [ParNew: 54377K->2379K(59008K), 0.0095650 secs]> 283417K->231420K(1152704K), 0.0096340 secs] [Times: user=0.06 sys=0.00,> real=0.01 secs]>>> I really appreciate you guys helping me to find out what is wrong.>> Thanks,> Pablo>>>> On 03/08/2013 02:11 PM, Stack wrote:>>> What RAM says.>>>> 2013-03-07 17:24:57,887 INFO org.apache.zookeeper.****ClientCnxn: Client>>>> session timed out, have not heard from server in 159348ms for sessionid>> 0x13d3c4bcba600a7, closing socket connection and attempting reconnect>>>> You Full GC'ing around this time?>>>> Put up your configs in a place where we can take a look?>>>> St.Ack>>>>>> On Fri, Mar 8, 2013 at 8:32 AM, ramkrishna vasudevan <>> ramkrishna.s.vasudevan@gmail.**com <[EMAIL PROTECTED]>>>> wrote:>>>> I think it is with your GC config. What is your heap size? What is the>>> data that you pump in and how much is the block cache size?>>>>>> Regards>>> Ram>>>>>> On Fri, Mar 8, 2013 at 9:31 PM, Ted Yu <[EMAIL PROTECTED]> wrote:>>>>>> 0.94 currently doesn't support hadoop 2.0>>>>>>>> Can you deploy hadoop 1.1.1 instead ?>>>>>>>> Are you using 0.94.5 ?>>>>>>>> Thanks>>>>>>>> On Fri, Mar 8, 2013 at 7:44 AM, Pablo Musa <[EMAIL PROTECTED]> wrote:>>>>>>>> Hey guys,>>>>> as I sent in an email a long time ago, the RSs in my cluster did not>>>>>>>>> get>>>>>>> along>>>>> and crashed 3 times a day. I tried a lot of options we discussed in the>>>>> emails, but it not solved the problem. As I used an old version of>>>>>>>>> hadoop I>>>>>>>>> thought this was the problem.>>>>>>>>>> So, I upgraded from hadoop 0.20 - hbase 0.90 - zookeeper 3.3.5 to>>>>>>>>> hadoop>>>>>>> 2.0.0>>>>> - hbase 0.94 - zookeeper 3.4.5.>>>>>>>>>> Unfortunately the RSs did not stop crashing, and worst! Now they crash>>>>> every>>>>> hour and some times when the RS that holds the .ROOT. crashes all>>>>>>>>> cluster>>>>>>> get>>>>> stuck in transition and everything stops working.>>>>> In this case I need to clean zookeeper znodes, restart the master and>>>>>>>>> the>>>>>>> RSs.>>>>> To avoid this case I am running on production with only ONE RS and a>>>>> monitoring>>>>> script that check every minute, if the RS is ok. If not, restart it.

> If JVM is full GC'ing, the application is stopped. > The below does not look like a full GC but that is a long pause in system > time, enough to kill your zk session.

Exactly. This pause is really making the zk expire the RS which shutsdown (logsin the end of the email).But the question is: what is causing this pause??!!

> You swapping?

I don't think so (stats below).

> Hardware is good?

Yes, it is a 16 processor machine with 74GB of RAM and plenty disk space.Below are some metrics I have heard about. Hope it helps.** I am having some problems with the datanodes[1] which are having trouble towrite. I really think the issues are related, but cannot solve any of them :(

Hi Pablo,It'a terrible for a long minor GC. I don't think there are swaping fromyour vmstat log.but I just suggest you1) add following JVM options:-XX:+DisableExplicitGC -XX:+UseCompressedOops -XX:GCTimeRatio=19-XX:SoftRefLRUPolicyMSPerMB=0 -XX:SurvivorRatio=2-XX:MaxTenuringThreshold=3 -XX:+UseFastAccessorMethods

2) -Xmn is two small, your total Mem is 74GB, just make -Xmn2g3) what are you doing during long GC happened? read or write? if reading,what the block cache size?On Mon, Mar 11, 2013 at 6:41 AM, Stack <[EMAIL PROTECTED]> wrote:

If you have made custom changes to blockcache or memstore configurations,back them out until you're sure everything else is ok.

Watch carefully for swapping. Set the vm.swappiness sysctl to 0. Monitorfor spikes in page scanning or any swap activity. Nothing brings on"Juliette" pauses better than a JVM partially swapped out. The Java GCstarts collection by examining the oldest pages, and those are the firstpages the OS swaps out...

Yesterday I spent 14 hours trying to tune the whole cluster.The cluster is not ready yet needs a lot of tunning, but at least is working.

My first big problem was namenode + datanode GC. They were not usingCMS and thus were taking "incremental" time to run. Ii started in 0.01 ms andin 20 minutes was taking 150 secs.After setting CMSGC this time is much smaller taking a maximum of 70 secs,which is VERY HIGH, but for now does not stop HBase.

With this issue solved, it was clear that the RS was doing a long pause GC,taking up to 220 secs. Zookeeper expired the RS and it shutdown.I tried a lot of different flags configuration (MORE than 20), and could notget small gcs. Eventually it would take more than 150 secs (zookeeper timeout)and shutdown.

Finally I tried a config that so far, 12 hours, is working with a maximum GCtime of 90 secs. Which of course is a terrible problem since HBase is adatabase, but at least the cluster is stable while I can tune it a little more.

In my opinion, my biggest problem is to have a few "monster" machines in thecluster instead of a bunch of commodities machines. I don't know if there area lot companies using this kind of machines inside a hadoop cluster, buta fast search on google could not find a lot of tunes for big heap GCs.

I guess my next step will be search for big heap gc tuning.

Back to some questions ;)

> You have ganglia or tsdb running?

I use zabbix for now, and no there is nothing going on when the big pause happens.

> When you see the big pause above, can you see anything going on on the > machine? (swap, iowait, concurrent fat mapreduce job?) > what are you doing during long GC happened? read or write? if reading, what > the block cache size?

The cpu for the RS process goes to 100% and the logs "pause", until it gets out.Ex: [NewPar

IO and SWAP are normal. There is no MR running, just normal database load, which isvery low. I am probably doing reads AND writes to the database with default blockcache size.One problem in this moment might be the big number of regions (1252) since I amusing only one RS to be able to track the problem.

The links and ideas were very helpful. Thank you very much guys.

I will post my future researches as I find a solution ;)

If you have more ideas or info (links, flag suggestions, etc.), please post it :)

Abs,Pablo

On 03/10/2013 11:24 PM, Andrew Purtell wrote:> Be careful with GC tuning, throwing changes at an application without> analysis of what is going on with the heap is shooting in the dark. One> particular good treatment of the subject is here:> http://java.dzone.com/articles/how-tame-java-gc-pauses>> If you have made custom changes to blockcache or memstore configurations,> back them out until you're sure everything else is ok.>> Watch carefully for swapping. Set the vm.swappiness sysctl to 0. Monitor> for spikes in page scanning or any swap activity. Nothing brings on> "Juliette" pauses better than a JVM partially swapped out. The Java GC> starts collection by examining the oldest pages, and those are the first> pages the OS swaps out...>>>> On Mon, Mar 11, 2013 at 10:13 AM, Azuryy Yu <[EMAIL PROTECTED]> wrote:>>> Hi Pablo,>> It'a terrible for a long minor GC. I don't think there are swaping from>> your vmstat log.>> but I just suggest you>> 1) add following JVM options:>> -XX:+DisableExplicitGC -XX:+UseCompressedOops -XX:GCTimeRatio=19>> -XX:SoftRefLRUPolicyMSPerMB=0 -XX:SurvivorRatio=2>> -XX:MaxTenuringThreshold=3 -XX:+UseFastAccessorMethods>>>> 2) -Xmn is two small, your total Mem is 74GB, just make -Xmn2g>> 3) what are you doing during long GC happened? read or write? if reading,>> what the block cache size?>>>>>>>>>> On Mon, Mar 11, 2013 at 6:41 AM, Stack <[EMAIL PROTECTED]> wrote:>>>>> You could increase your zookeeper session timeout to 5 minutes while you>>> are figuring why these long pauses.>>> http://hbase.apache.org/book.html#zookeeper.session.timeout

Hello guys,I stopped my research on HBase ZK timeout for while due toother issues I had to do, but I am back.

A very weird behavior that I would like your comments is that myRegionServers perform better (less crashes) under heavy load insteadof light load.There is, if I let HBase alone with 50 requestsPerSecond along thewhole day the crashes are higher than if I run a mapred Job every hour.Another weird thing is the following:

So, my script for getting every gc time ("real=... secs") says thatthere is no gc that took longer than 1 second.However the RS log says twice that the RS slept more than 40 secondsinstead of 3.

"this is likely due to a long garbage collecting pause", yesthis is likely but I dont think it is the case.

The machine is a huge machine with 70GB RAM, 32 procs, light load,no swap or iowait.

Any ideas?

Thanks,Pablo

On 03/12/2013 12:43 PM, Pablo Musa wrote:> Guys,> thank you very much for the help.>> Yesterday I spent 14 hours trying to tune the whole cluster.> The cluster is not ready yet needs a lot of tunning, but at least is> working.>> My first big problem was namenode + datanode GC. They were not using> CMS and thus were taking "incremental" time to run. Ii started in 0.01> ms and> in 20 minutes was taking 150 secs.> After setting CMSGC this time is much smaller taking a maximum of 70 secs,> which is VERY HIGH, but for now does not stop HBase.>> With this issue solved, it was clear that the RS was doing a long pause GC,> taking up to 220 secs. Zookeeper expired the RS and it shutdown.> I tried a lot of different flags configuration (MORE than 20), and could not> get small gcs. Eventually it would take more than 150 secs (zookeeper> timeout)> and shutdown.>> Finally I tried a config that so far, 12 hours, is working with a maximum GC> time of 90 secs. Which of course is a terrible problem since HBase is a> database, but at least the cluster is stable while I can tune it a> little more.>> In my opinion, my biggest problem is to have a few "monster" machines in the> cluster instead of a bunch of commodities machines. I don't know if> there are> a lot companies using this kind of machines inside a hadoop cluster, but> a fast search on google could not find a lot of tunes for big heap GCs.>> I guess my next step will be search for big heap gc tuning.>> Back to some questions ;)>> > You have ganglia or tsdb running?>> I use zabbix for now, and no there is nothing going on when the big> pause happens.>> > When you see the big pause above, can you see anything going on on the> > machine? (swap, iowait, concurrent fat mapreduce job?)> > what are you doing during long GC happened? read or write? if> reading, what> > the block cache size?>> The cpu for the RS process goes to 100% and the logs "pause", until it> gets out.> Ex: [NewPar>> IO and SWAP are normal. There is no MR running, just normal database> load, which is> very low. I am probably doing reads AND writes to the database with> default block> cache size.

> Hello guys,> I stopped my research on HBase ZK timeout for while due to> other issues I had to do, but I am back.>> A very weird behavior that I would like your comments is that my> RegionServers perform better (less crashes) under heavy load instead> of light load.> There is, if I let HBase alone with 50 requestsPerSecond along the> whole day the crashes are higher than if I run a mapred Job every hour.>>> Another weird thing is the following:>> RS startTime = Mon Apr 01 13:22:35 BRT 2013>> [...]$ grep slept /var/log/hbase/hbase-hbase-**regionserver-PSLBHDN00*.log> 2013-04-01 20:09:21,135 WARN org.apache.hadoop.hbase.util.**Sleeper: We> slept 45491ms instead of 3000ms, this is likely due to a long garbage> collecting pause and it's usually bad, see http://hbase.apache.org/book.**> html#trouble.rs.runtime.**zkexpired<http://hbase.apache.org/book.html#trouble.rs.runtime.zkexpired>> 2013-04-01 22:45:59,407 WARN org.apache.hadoop.hbase.util.**Sleeper: We> slept 101271ms instead of 3000ms, this is likely due to a long garbage> collecting pause and it's usually bad, see http://hbase.apache.org/book.**> html#trouble.rs.runtime.**zkexpired<http://hbase.apache.org/book.html#trouble.rs.runtime.zkexpired>>> [...]$ egrep 'real=[1-9][0-9][0-9][0-9]*\.[**0-9][0-9]'> /var/log/hbase/hbase-hbase-**regionserver-PSLBHDN00*.out> * the below report is the above command for each time range.> 0.0 - 0.1 secs GCs = 5084> 0.1 - 0.5 secs GCs = 9> 0.5 - 1.0 secs GCs = 3> 1.0 - 010 secs GCs = 0> 010 - 100 secs GCs = 0> 100 - 1000 secs GCs = 0>> So, my script for getting every gc time ("real=... secs") says that> there is no gc that took longer than 1 second.> However the RS log says twice that the RS slept more than 40 seconds> instead of 3.>> "this is likely due to a long garbage collecting pause", yes> this is likely but I dont think it is the case.>> The machine is a huge machine with 70GB RAM, 32 procs, light load,> no swap or iowait.>> Any ideas?>> Thanks,> Pablo>>> On 03/12/2013 12:43 PM, Pablo Musa wrote:>>> Guys,>> thank you very much for the help.>>>> Yesterday I spent 14 hours trying to tune the whole cluster.>> The cluster is not ready yet needs a lot of tunning, but at least is>> working.>>>> My first big problem was namenode + datanode GC. They were not using>> CMS and thus were taking "incremental" time to run. Ii started in 0.01>> ms and>> in 20 minutes was taking 150 secs.>> After setting CMSGC this time is much smaller taking a maximum of 70 secs,>> which is VERY HIGH, but for now does not stop HBase.>>>> With this issue solved, it was clear that the RS was doing a long pause>> GC,>> taking up to 220 secs. Zookeeper expired the RS and it shutdown.>> I tried a lot of different flags configuration (MORE than 20), and could>> not>> get small gcs. Eventually it would take more than 150 secs (zookeeper>> timeout)>> and shutdown.>>>> Finally I tried a config that so far, 12 hours, is working with a maximum>> GC>> time of 90 secs. Which of course is a terrible problem since HBase is a>> database, but at least the cluster is stable while I can tune it a>> little more.>>>> In my opinion, my biggest problem is to have a few "monster" machines in>> the>> cluster instead of a bunch of commodities machines. I don't know if>> there are>> a lot companies using this kind of machines inside a hadoop cluster, but>> a fast search on google could not find a lot of tunes for big heap GCs.>>>> I guess my next step will be search for big heap gc tuning.>>>> Back to some questions ;)>>>> > You have ganglia or tsdb running?>>>> I use zabbix for now, and no there is nothing going on when the big>> pause happens.

What do you mean?My ZK timeout today is 150 secs, which is very big. However, myproblem is finding where this timeout come from?! Any ideas?

Thanks,Pablo

On 04/03/2013 03:36 PM, Ted Yu wrote:> Thanks for the sharing.>> Have you looked at> http://hbase.apache.org/book.html#trouble.rs.runtime.zkexpired , suggested> below ?>> I think zookeeper timeout should be more closely watched.>>> On Wed, Apr 3, 2013 at 11:21 AM, Pablo Musa <[EMAIL PROTECTED]> wrote:>>> Hello guys,>> I stopped my research on HBase ZK timeout for while due to>> other issues I had to do, but I am back.>>>> A very weird behavior that I would like your comments is that my>> RegionServers perform better (less crashes) under heavy load instead>> of light load.>> There is, if I let HBase alone with 50 requestsPerSecond along the>> whole day the crashes are higher than if I run a mapred Job every hour.>>>>>> Another weird thing is the following:>>>> RS startTime = Mon Apr 01 13:22:35 BRT 2013>>>> [...]$ grep slept /var/log/hbase/hbase-hbase-**regionserver-PSLBHDN00*.log>> 2013-04-01 20:09:21,135 WARN org.apache.hadoop.hbase.util.**Sleeper: We>> slept 45491ms instead of 3000ms, this is likely due to a long garbage>> collecting pause and it's usually bad, see http://hbase.apache.org/book.**>> html#trouble.rs.runtime.**zkexpired<http://hbase.apache.org/book.html#trouble.rs.runtime.zkexpired>>> 2013-04-01 22:45:59,407 WARN org.apache.hadoop.hbase.util.**Sleeper: We>> slept 101271ms instead of 3000ms, this is likely due to a long garbage>> collecting pause and it's usually bad, see http://hbase.apache.org/book.**>> html#trouble.rs.runtime.**zkexpired<http://hbase.apache.org/book.html#trouble.rs.runtime.zkexpired>>>>> [...]$ egrep 'real=[1-9][0-9][0-9][0-9]*\.[**0-9][0-9]'>> /var/log/hbase/hbase-hbase-**regionserver-PSLBHDN00*.out>> * the below report is the above command for each time range.>> 0.0 - 0.1 secs GCs = 5084>> 0.1 - 0.5 secs GCs = 9>> 0.5 - 1.0 secs GCs = 3>> 1.0 - 010 secs GCs = 0>> 010 - 100 secs GCs = 0>> 100 - 1000 secs GCs = 0>>>> So, my script for getting every gc time ("real=... secs") says that>> there is no gc that took longer than 1 second.>> However the RS log says twice that the RS slept more than 40 seconds>> instead of 3.>>>> "this is likely due to a long garbage collecting pause", yes>> this is likely but I dont think it is the case.>>>> The machine is a huge machine with 70GB RAM, 32 procs, light load,>> no swap or iowait.>>>> Any ideas?>>>> Thanks,>> Pablo>>>>>> On 03/12/2013 12:43 PM, Pablo Musa wrote:>>>>> Guys,>>> thank you very much for the help.>>>>>> Yesterday I spent 14 hours trying to tune the whole cluster.>>> The cluster is not ready yet needs a lot of tunning, but at least is>>> working.>>>>>> My first big problem was namenode + datanode GC. They were not using>>> CMS and thus were taking "incremental" time to run. Ii started in 0.01>>> ms and>>> in 20 minutes was taking 150 secs.>>> After setting CMSGC this time is much smaller taking a maximum of 70 secs,>>> which is VERY HIGH, but for now does not stop HBase.>>>>>> With this issue solved, it was clear that the RS was doing a long pause>>> GC,>>> taking up to 220 secs. Zookeeper expired the RS and it shutdown.>>> I tried a lot of different flags configuration (MORE than 20), and could>>> not>>> get small gcs. Eventually it would take more than 150 secs (zookeeper>>> timeout)>>> and shutdown.>>>>>> Finally I tried a config that so far, 12 hours, is working with a maximum>>> GC>>> time of 90 secs. Which of course is a terrible problem since HBase is a>>> database, but at least the cluster is stable while I can tune it a>>> little more.>>>>>> In my opinion, my biggest problem is to have a few "monster" machines in

I went over related emails in my Inbox.One previous case was that other task was running on the region server nodewhich consumed good portion of CPU. In that case I observed a gap ofactivities in region server log. I can send that snippet, afteranonymization since there were some IP addresses at my previous employer.

> Have you looked at http://hbase.apache.org/book.**html#trouble.rs.runtime.>> **zkexpired<http://hbase.apache.org/book.html#trouble.rs.runtime.zkexpired>, suggested below ?>>>> Yes I did, but GC is not the issue here.>>> I think zookeeper timeout should be more closely watched.>>>> What do you mean?> My ZK timeout today is 150 secs, which is very big. However, my> problem is finding where this timeout come from?! Any ideas?>> Thanks,> Pablo>>> On 04/03/2013 03:36 PM, Ted Yu wrote:>>> Thanks for the sharing.>>>> Have you looked at>> http://hbase.apache.org/book.**html#trouble.rs.runtime.**zkexpired<http://hbase.apache.org/book.html#trouble.rs.runtime.zkexpired>, suggested>> below ?>>>> I think zookeeper timeout should be more closely watched.>>>>>> On Wed, Apr 3, 2013 at 11:21 AM, Pablo Musa <[EMAIL PROTECTED]> wrote:>>>> Hello guys,>>> I stopped my research on HBase ZK timeout for while due to>>> other issues I had to do, but I am back.>>>>>> A very weird behavior that I would like your comments is that my>>> RegionServers perform better (less crashes) under heavy load instead>>> of light load.>>> There is, if I let HBase alone with 50 requestsPerSecond along the>>> whole day the crashes are higher than if I run a mapred Job every hour.>>>>>>>>> Another weird thing is the following:>>>>>> RS startTime = Mon Apr 01 13:22:35 BRT 2013>>>>>> [...]$ grep slept /var/log/hbase/hbase-hbase-****>>> regionserver-PSLBHDN00*.log>>> 2013-04-01 20:09:21,135 WARN org.apache.hadoop.hbase.util.****Sleeper:>>> We>>>>>> slept 45491ms instead of 3000ms, this is likely due to a long garbage>>> collecting pause and it's usually bad, see>>> http://hbase.apache.org/book.**** <http://hbase.apache.org/book.**>>>> html#trouble.rs.runtime.****zkexpired<http://hbase.apache.**>>> org/book.html#trouble.rs.**runtime.zkexpired<http://hbase.apache.org/book.html#trouble.rs.runtime.zkexpired>>>> >>>> 2013-04-01 22:45:59,407 WARN org.apache.hadoop.hbase.util.****Sleeper:>>> We>>>>>> slept 101271ms instead of 3000ms, this is likely due to a long garbage>>> collecting pause and it's usually bad, see>>> http://hbase.apache.org/book.**** <http://hbase.apache.org/book.**>>>> html#trouble.rs.runtime.****zkexpired<http://hbase.apache.**>>> org/book.html#trouble.rs.**runtime.zkexpired<http://hbase.apache.org/book.html#trouble.rs.runtime.zkexpired>>>> >>>>>>> [...]$ egrep 'real=[1-9][0-9][0-9][0-9]*\.[****0-9][0-9]'>>> /var/log/hbase/hbase-hbase-****regionserver-PSLBHDN00*.out>>>>>> * the below report is the above command for each time range.>>> 0.0 - 0.1 secs GCs = 5084>>> 0.1 - 0.5 secs GCs = 9>>> 0.5 - 1.0 secs GCs = 3>>> 1.0 - 010 secs GCs = 0>>> 010 - 100 secs GCs = 0>>> 100 - 1000 secs GCs = 0>>>>>> So, my script for getting every gc time ("real=... secs") says that>>> there is no gc that took longer than 1 second.>>> However the RS log says twice that the RS slept more than 40 seconds>>> instead of 3.>>>>>> "this is likely due to a long garbage collecting pause", yes>>> this is likely but I dont think it is the case.>>>>>> The machine is a huge machine with 70GB RAM, 32 procs, light load,>>> no swap or iowait.>>>>>> Any ideas?>>>>>> Thanks,>>> Pablo>>>>>>>>> On 03/12/2013 12:43 PM, Pablo Musa wrote:>>>>>> Guys,>>>> thank you very much for the help.>>>>>>>> Yesterday I spent 14 hours trying to tune the whole cluster.>>>> The cluster is not ready yet needs a lot of tunning, but at least is>>>> working.>>>>>>>> My first big problem was namenode + datanode GC. They were not using