1+ #! /bin/sh
2+ set -e
3+ COMPRESSION=GZ
4+ # Small script to setup the HBase tables used by OpenTSDB.
5+ test -n " $HBASE_PREFIX " || {
6+ echo >&2 ' The environment variable HBASE_PREFIX must be set'
7+ exit 1
8+ }
9+ test -d " $HBASE_PREFIX " || {
10+ echo >&2 " No such directory: HBASE_PREFIX=$HBASE_PREFIX "
11+ exit 1
12+ }
13+ cp /tmp/hbase-config/* $HBASE_PREFIX /conf/
14+
15+ TSDB_TABLE=${TSDB_TABLE-' tsdb' }
16+ UID_TABLE=${UID_TABLE-' tsdb-uid' }
17+ TREE_TABLE=${TREE_TABLE-' tsdb-tree' }
18+ META_TABLE=${META_TABLE-' tsdb-meta' }
19+ BLOOMFILTER=${BLOOMFILTER-' ROW' }
20+ # LZO requires lzo2 64bit to be installed + the hadoop-gpl-compression jar.
21+ COMPRESSION=${COMPRESSION-' LZO' }
22+ # All compression codec names are upper case (NONE, LZO, SNAPPY, etc).
23+ COMPRESSION=` echo " $COMPRESSION " | tr a-z A-Z`
24+
25+ case $COMPRESSION in
26+ (NONE|LZO|GZIP|SNAPPY) : ;; # Known good.
27+ (* )
28+ echo >&2 " warning: compression codec '$COMPRESSION ' might not be supported."
29+ ;;
30+ esac
31+ echo " checking if opentsdb $UID_TABLE hbase table exists"
32+ ret=$( echo " exists '$UID_TABLE '" | $HBASE_PREFIX /bin/hbase shell -n )
33+ if [[ $ret == * " true" * ]];
34+ then
35+ echo " OpenTSDB tables already created."
36+ exit 0
37+ else
38+ echo " Creating OpenTSDB hbase tables:"
39+ $HBASE_PREFIX /bin/hbase shell -n << EOF
40+ create '$UID_TABLE ',
41+ {NAME => 'id', COMPRESSION => '$COMPRESSION ', BLOOMFILTER => '$BLOOMFILTER '},
42+ {NAME => 'name', COMPRESSION => '$COMPRESSION ', BLOOMFILTER => '$BLOOMFILTER '}
43+
44+ create '$TSDB_TABLE ',
45+ {NAME => 't', VERSIONS => 1, COMPRESSION => '$COMPRESSION ', BLOOMFILTER => '$BLOOMFILTER '}
46+
47+ create '$TREE_TABLE ',
48+ {NAME => 't', VERSIONS => 1, COMPRESSION => '$COMPRESSION ', BLOOMFILTER => '$BLOOMFILTER '}
49+
50+ create '$META_TABLE ',
51+ {NAME => 'name', COMPRESSION => '$COMPRESSION ', BLOOMFILTER => '$BLOOMFILTER '}
52+ EOF
53+ echo " DONE"
54+ fi
0 commit comments