forked from HariSekhon/DevOps-Python-tools
-
Notifications
You must be signed in to change notification settings - Fork 0
/
hbase_regions_by_memstore_size.py
executable file
·63 lines (49 loc) · 1.67 KB
/
hbase_regions_by_memstore_size.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
#!/usr/bin/env python3
# vim:ts=4:sts=4:sw=4:et
#
# Author: Hari Sekhon
# Date: 2016-10-06 10:42:59 +0100 (Thu, 06 Oct 2016)
#
# https://github.com/HariSekhon/DevOps-Python-tools
#
# License: see accompanying Hari Sekhon LICENSE file
#
# If you're using my code you're welcome to connect with me on LinkedIn
# and optionally send me feedback to help steer this or other code I publish
#
# https://www.linkedin.com/in/HariSekhon
#
"""
Tool to find HBase Regions memstores sizes across any given RegionServers using JMX API stats
Argument list should be one or more RegionServers to dump the JMX stats from
See also hbase_regions_by_size.py
hbase_regions_least_used.py
Tested on Apache HBase 1.0.3, 1.1.6, 1.2.1, 1.2.2, 1.3.1
"""
from __future__ import absolute_import
from __future__ import division
from __future__ import print_function
from __future__ import unicode_literals
import os
import sys
import traceback
libdir = os.path.abspath(os.path.join(os.path.dirname(__file__), 'pylib'))
sys.path.append(libdir)
try:
# pylint: disable=wrong-import-position
from hbase_regions_by_size import HBaseRegionsBySize
except ImportError as _:
print(traceback.format_exc(), end='')
sys.exit(4)
__author__ = 'Hari Sekhon'
__version__ = '0.6.2'
class HBaseRegionsByMemstoreSize(HBaseRegionsBySize):
def __init__(self):
# Python 2.x
super(HBaseRegionsByMemstoreSize, self).__init__()
# Python 3.x
# super().__init__()
# could have just made this a switch to hbase_regions_by_size.py but it's easier to see as separate prog
self.metric = 'memStoreSize'
if __name__ == '__main__':
HBaseRegionsByMemstoreSize().main()