What I have done is using HBase 0.92.2+ (I believe commited in HBase 0.94) there is a compaction status on the table via the Web-UI. I do not know if it's exposed anywhere else. For my own internal compaction tools, I scrape that status from the web UI to determine if a table is in minor / major / none compaction.
https://s3.amazonaws.com/uploads.hipchat.com/10509/150181/39jhoklr70xbmfj/Screen%20Shot%202012-11-08%20at%2011.19.32%20AM.png On Thu, Nov 8, 2012 at 10:31 AM, yun peng <[email protected]> wrote: > Yes, JMX exposes compaction time. My cluster has JMX enabled, and I can > view certain statistics from remote jconsole. > > However, I dont find any reference talking about how to write a Java > program to collect a specific statistics, like compaction time available in > region server status. Does anyone here have experience in writing low-level > code to collect JMX data, instead of using jconsole or other high-level > tools... > > PS: I have found some sample code > here< > http://hadoop.apache.org/docs/current/api/org/apache/hadoop/metrics/package-summary.html > >, > yet the API is deprecated. > Regards, > Yun > On Thu, Nov 8, 2012 at 6:43 AM, Jean-Marc Spaggiari < > [email protected] > > wrote: > > > Please someone correct me if I'm wrong, but I think there is some > > information exposed to JMX which give you the duration (and size) of > > the last compaction. > > > > JM > > > > 2012/11/8, PG <[email protected]>: > > > Hi, thanks for the comments. One thing is,,,, shouldn't web UI comes > from > > > the hbase API, or can I issue function call to get the progress of > > > compaction?. > > > Hun > > > > > > On Nov 8, 2012, at 1:33 AM, ramkrishna vasudevan > > > <[email protected]> wrote: > > > > > >> There is no interface which says that the major compaction is > completed. > > >> But you can see that major compaction is in progress from the web UI. > > >> Sorry if am wrong here. > > >> > > >> Regards > > >> Ram > > >> > > >> On Thu, Nov 8, 2012 at 11:38 AM, yun peng <[email protected]> > > wrote: > > >> > > >>> Hi, All, > > >>> I want to measure the duration of a major compaction in HBase. Since > > the > > >>> function call majorCompact is asynchronous, I may need to manually > > check > > >>> when the major compaction is done. Does Hbase (as of version 0.92.4) > > >>> provide an interface to determine completion of major compaction? > > >>> Thanks. > > >>> Yun > > >>> > > > > > >
