- 安装HBase客户端
- 安装GnuPlot
- 安装OpenTSDB
- 创建OpenTSDB需要的表
- 修改OpenTSDB的配置文件
一、安装HBase客户端
-
下载阿里云开源HBase客户端
如果购买的为1.x版本的HBase集群,可以下载1.1.x系列的HBase包,如:
wget http://public-hbase.oss-cn-hangzhou.aliyuncs.com/installpackage/alihbase-1.1.4-bin.tar.gz .
如果购买的是2.x版本的HBase集群,可以下载2.0.x系列的HBase包,如:
wget http://public-hbase.oss-cn-hangzhou.aliyuncs.com/installpackage/alihbase-2.0.0-bin.tar.gz .
下载完成以后,解压缩(以1.x版本为例)
tar -zxf alihbase-1.1.4-bin.tar.gz
-
配置 ZK 地址 解压后,修改 conf/hbase-site.xml 文件,添加集群的 ZK 地址,如下所示:
<configuration>
<property>
<name>hbase.zookeeper.quorum</name>
<value>$ZK_IP1,$ZK_IP2,$ZK_IP3</value>
</property>
</configuration>
其中的$ZK_IP1,$ZK_IP2,$ZK_IP3请参考上一节中的获取集群的 ZK 连接地址
-
访问集群
通过如下命令就可以访问集群了。
bin/hbase shell
list
二、安装GnuPlot
GnuPlot是一个命令行的交互式绘图工具,OpenTSDB使用GnuPlot绘图。GnuPlot可以简单通过yum安装:
yum install -y gnuplot
三、安装OpenTSDB
通过源码安装,从下面网址下载最新的源码。执行 build.sh 即可自动完成编译。成功的话,会在build目录生成tsdb文件和tsdb-2.3.1.jar 文件。
https://github.com/OpenTSDB/opentsdb/releases
此时可以执行:./tsdb tsd 如果没配置opentsdb.conf,会报错。我们继续下面的配置,稍后再执行tsdb。
四、创建OpenTSDB需要的表
env COMPRESSION=SNAPPY HBASE_HOME=/root/alihbase-1.1.3/ /root/opentsdb-2.3.1/src/create_table.sh
执行成功的话, 就会在阿里云的HBase里生成4个表。用阿里云的hbase客户端查看如下:
hbase(main):006:0> list
TABLE
tsdb
tsdb-meta
tsdb-tree
tsdb-uid
4 row(s) in 0.2030 seconds
在执行建表的脚本时需要设置这两个环境变量:
- COMPRESSION表示OpenTSDB的表所使用的压缩方式。脚本中的默认值是lzo,但是阿里云HBase不支持这种压缩方式,我们把这个参数设置为SNAPPY。SNAPPY是阿里云HBase推荐的压缩方式,参见云HBase文档。
- HBASE_HOME配置为HBase客户端的安装目录。
五、修改OpenTSDB的配置文件
配置文件的路径在源代码根目录下面的 src/opentsdb.conf 。我们需要把其中的tsd.storage.hbase.zk_quorum这个参数修改为HBase的ZK连接地址
- tsd.http.cachedir = /tmp
- tsd.network.port = 10003
- tsd.core.auto_create_metrics = true
- tsd.http.staticroot =
/root/opentsdb-2.3.1/build/staticroot
- tsd.storage.hbase.zk_quorum = ZK连接地址
此时可以执行 ./tsdb tsd 了
然后用curl测试一下是否可以访问10003端口:
curl http://localhost:10003/api/config
应该会返回配置信息.
这感觉有点绕,相当于 我们的进程先发送数据到 ./tsdb 进程, tsdb进程在发送数据到阿里云的 hbase shell进程, hbase shell进程再发送数据到阿里云的HBase数据库。 my god。