以下安装部署都是在centos 7系统下安装部署的。
OpenTSDB是基于HBase存储时间序列数据的一个开源的数据库,是HBase的一个应用。所以安装OpenTSDB之前,首先需要安装HBase,然而HBase使用Java开发的,所以我们第一步首先需要安装jdk。
一、JDK安装
1、http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html下载jdk的RPM包,然后执行以下命令安装:
jdk安装命令安装完jdk后,需要对环境变量配置:
2、环境变量配置:
JAVA_HOME=/usr/java/jdk1.8.0_73
JRE_HOME=/usr/java/jdk1.8.0_73/jre
PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib
export JAVA_HOME JRE_HOME PATH CLASSPATH
3、配置完成后执行如下命令,让配置内容生效:
source /etc/profile
4、安装必要的依赖:
yum install gnuplot automake autoconf git -y
二、Hbase安装
1、从Hbase官网下载Hbase的tar包,拷贝Hbase到指定目录,我们这里把所有文件都放在/usr/local/这个目录下
cp hbase-0.94.27.tar.gz /usr/local
2、然后解压Hbase并切换到Hbase所在目录:
tar xvf hbase-0.94.27.tar.gz
cd hbase-0.94.27/
3、配置/conf/hbase-site.xml文件内容:
hbase.rootdir
file:/usr/local/hbase-0.94.27/hbase-${user.name}
注意:文件的路径就是你写数据的路径,不要存在临时目录下面,这样机器重启会丢失数据
4、对于Hbase的一些基本操作:
(1)启动Hbase:nohup ./bin/start-hbase.sh 如果没有报错启动成功
(2)Hbase的shell:./bin/hbase shell 即启动了Hbase的shell就可以通过shell命令操作Hbase数据库:
create 'test','cf' 创建一个表
put 'test', 'row1', 'cf:a', 'value1' 插入数据
scan 'test' 查询一个表
get 'test', 'row1' 查询一行数据
disable再drop这张表(删除表的操作)
exit退出Shell
注意:用Shell操作HBase时要进行删除,需要同时按住Ctrl和Delete键来进行删除操作。
(3)停止Hbase ./bin/stop-hbase.sh Hbase将会慢慢的停止这只是一个单机的Hbase,后面我们可以设置分布式的Hbase,只需要对相应的配置文件配置就OK了,如果需要配置集群的话,后续我会加上。
三、Opentsdb安装
1、从Releases · OpenTSDB/opentsdb · GitHub上选择下载相应的版本,也可以去官网下载都可以,解压Opentsdb安装文件,并且解压文件:
tar -xvf opentsdb-2.2.0.tar.gz
cd opentsdb-2.2.0
./build.sh
2、执行完以上命令后,将会在build文件夹下生成一个tsdb.jar,接下来安装:
cd build/
make install
没有什么错误的话,说明Opentsdb安装成功
3、操作Opentsdb以及数据存入到Hbase中:
(1)第一次启动OpenTSDB需要HBase的支持,所以首先需要创建必要的HBase表格,命令如下:
env COMPRESSION=NONE HBASE_HOME=/usr/local/hbase-0.94.27 ./src/create_table.sh
HBASE_HOME必须是你本地安装的HBase的目录,因为OpenTSDB是基于HBase实现的,所以这里要指明HBase的安装路径。这样就会创建出四个表格,分别是tsdb、tsdb-uid、tsdb-tree和tsdb-meta。为了防止opentsdb产生大量的日志,可以在/src/logback.xml中设置一个日志级别。
(2)启动Opentsdb
./build/tsdb tsd 执行如下命令启动TSD
tsdtmp=${TMPDIR-'/tmp'}/tsd 创建临时目录
mkdir -p "$tsdtmp"
./build/tsdb tsd --port=4242 --staticroot=build/staticroot --cachedir="$tsdtmp"
注意:如果使用的是HBase集群,则需要设置—zkquorum。
此时已经成功启动了OpenTSDB,你可以通过IP:Port用浏览器进行访问,Port是4242
4、Opentsdb日志管理:
一般由于opentsdb默认的日志特别多,尤其以nohup启动的话,日志很有可能占满整个磁盘。所以这里需要修改opentsdb的bug级别。
Opentsdb采用slf4j作为日志管理,主要日志配置在/src/logback.xml文件中,主要的日志级别如下:
(1)ERROR主要打印错误信息,操作失败等,这将影响opentsdb的正常使用
(2)WARN这是由于不正确的操作造成的,但不至于影响opentsdb的正常运行
(3)INFO
(4)DEBUG
(5)OFF
直接修改logback.xml文件就可以完成日志级别的修改,如下图所示:
总结:以上只是将Opentsdb和Hbase(还是单节点)集成起来,Opentsdb能够将得到的数据传送给Hbase,并存入到Hbase数据库中。