opentsdb源码阅读环境搭建

引言

opentsdb编写语言是java,但是构建方式却不是较为应用广泛的maven方式构建,它的构建方式是Autotools 加 GNU。首先贴出官方开发的文档。
虽然它不是由maven构建,但是官方提供了一个 build.sh 可以帮助我们将其转化为maven项目

本文搭建基于tsdb的安装教程,因为源码阅读环境需要用到其已经安装好的hbase和已经构建成功的opebtsdb源码文件。

其他说明:因为opentsdb的 build.sh 脚本并不适用于windows,所以博主这边是用到了一个vps来安装hbase和编译tsdb源码的。
下面就是具体的源码环境搭建步骤。

1、生成pom文件

因为想把项目导入到idea中,所以还是想项目转化为maven项目比较合适。首先进入源码的文件夹,运行如下命令:

./build.sh pom.xml

运行完了之后会在这个文件夹里面生成一个 pom.xml 文件。此时将opentsdb整个文件从vps下载到本地。

2、转化为maven工程

此时我们需要新建一个maven工程,并且将前一步下载的源码复制到工程的相应位置。
打开生成的pom文件,其groupid和artifactid如下

图 1

我们在创建maven项目的时候groupid就为 net.opentsdb,然后artifactid就为 opentsdb。新建成功之后将,这个项目的pom文件并不是我们想要的,因为它是一个空的pom文件,所以我们用刚刚生成的pom将其替换掉,替换之后idea就会自动帮我们下载依赖(此时,ideal中的pom文件可能会有错误提示,可以不用管)。

在项目的main.java文件和test.java文件夹创建 net.openstdb 包,创建之后如下:

图 2

将下载的源码文件中的 ./src 中的文件夹全部复制到项目 net.openstdb 包下:

图 3

我们也可以源码文件中的test下面的全部文件夹复制到项目的测试 net.openstdb 包下,这里面都是一些单元测试。

此时,还没有结束:

图 4

看图4中两个文件,其实目前项目中还并没有,它们分别在
/opentsdb/build/src/toolsopentsdb/build/src/net/opentsdb/query/expression 文件夹下,需要将其复制到项目的相应位置。

3、配置并进行启动tsdb

首先第一个是配置文件,我们可以将 pentsdb/build/opentsdb.confopentsdb/src/logback.xml 配置文件复制到项目的 resource下面。

图 5

配置文件如下:

tsd.http.cachedir=/tmp/opentsdb
tsd.http.staticroot=E:\\file\\java\\opentsdb\\build\\staticroot
tsd.storage.hbase.zk_quorum=izuf6goyl5x6opx4hvd8l5z
  • tsd.http.staticroot 指向的是下载源码文件中的一个文件夹,里面是一些静态文件。
  • tsd.storage.hbase.zk_quorum 是指定的hbase安装的主机地址,因为我在hosts文件中已经配置了主机名 izuf6goyl5x6opx4hvd8l5z 和对应的ip地址,所以它会通过名称izuf6goyl5x6opx4hvd8l5z 找到对应的ip地址。

除此之外还需要找到tsdb的入口 TSDMain.java ,启动配置如下:

图 6

主要是配置了启动端口和tsdb的配置文件地址,可见这个地址就是项目中 resource/opentsdb.conf 文件。

最后的最后,运行tsdb。

图 7

总结

安装已经完成,我们在本地可以通过http或者telnet对tsdb进行一些操作都是没有问题的,但是通过web页面不行的,因为没有编译 GWT UI。
其实web也不用经常会用到,所以暂时不用关注,嘻嘻。

目前我们在idea中可以对tsdb代码进行注释以及debug,舒服极了==

你可能感兴趣的:(opentsdb源码阅读环境搭建)