本文共 3064 字,大约阅读时间需要 10 分钟。
最近在项目中需要使用 OpenTSDB 的一部分源码,感觉安装部署的过程对初次接触的人来说有点复杂。为了方便公司里的测试同事快速上手,我决定整理一下 OpenTSDB 2.4.0 的安装部署文档。
OpenTSDB 是一个开源的时间序列数据存储系统,主要用于处理大量的时序数据。如果对 OpenTSDB 不太了解,可以直接前往其官方网站查询:http://opentsdb.net/
需要注意的是,OpenTSDB 的后端数据存储依赖于 HBase,因此安装 OpenTSDB 的过程实际上分为两大部分:首先是安装和配置 HBase,其次是安装并配置 OpenTSDB。
如果你已经有 HBase 环境了,就可以直接跳过这一部分啦。对于大多数场景,HBase 集群通常会使用 CDH(Cloudera Distribution of Hadoop)来管理和部署。
HBase 的存储依赖于 HDFS(Hadoop Distributed File System),不过在本地测试时,你可以直接使用本地文件系统来代替 HDFS,这样就无需部署整个 HDFS 集群了。
如果是单机部署,可以按照 HBase 官方文档进行操作:http://hbase.apache.org/book.html#quickstart
以下是搭建 Standalone HBase 的关键步骤:
配置环境变量
打开conf/hbase-env.sh 文件,添加以下内容:export JAVA_HOME=/usr/jdk64/jdk1.8.0_112
配置 HBase 参数
打开conf/hbase-site.xml 文件,添加以下配置:hbase.rootdir file:///home/itwild/hbase hbase.zookeeper.property.dataDir /home/itwild/zookeeper
启动 HBase
执行命令:bin/start-hbase.sh
启动成功后,你可以通过 jps 命令查看进程,应该能看到 HMaster、HRegionServer 和 ZooKeeper 进程。
在 Standalone 模式下,虽然看起来只有一个 JVM 实例运行,但实际上已经启动了 HMaster、HRegionServer 和 ZooKeeper。
打开 HBase 的 Web 界面,访问地址:http://localhost:16010
接下来,我们需要在 HBase 中创建 OpenTSDB 相关的表结构。OpenTSDB 的数据会存储在 HBase 中,因此表的结构直接决定了数据的存储方式。
进入 HBase 交互界面:
bin/hbase shell
创建表结构:
create 'tsdb', '{NAME => 't', VERSIONS => 1, BLOOMFILTER => 'ROW'}'create 'tsdb-uid', '{NAME => 'id', BLOOMFILTER => 'ROW'}, {NAME => 'name', BLOOMFILTER => 'ROW'}'create 'tsdb-tree', '{NAME => 't', VERSIONS => 1, BLOOMFILTER => 'ROW'}'create 'tsdb-meta', '{NAME => 'name', BLOOMFILTER => 'ROW'}'以上命令会创建 OpenTSDB 需要的四张表:
tsdb:存储时间序列数据tsdb-uid:存储 metric 名字和 UID 的映射tsdb-tree:存储树结构数据tsdb-meta:存储元数据查看已创建的表:
list 'TABLES'
下载 OpenTSDB 的最新版本,选择适合你操作系统的包。比如,在 CentOS 7 系统中,可以下载 OpenTSDB 2.4.0 的 RPM 包:
https://github.com/OpenTSDB/opentsdb/releases
使用 YUM 安装:
yum -y localinstall opentsdb-2.4.0.noarch.rpm
如果安装过程中遇到错误,可能需要临时修改 YUM 的解析器版本。例如:
vi /usr/bin/yum
修改为:
#!/usr/bin/python2.7
启动 OpenTSDB 服务:
systemctl start opentsdb
检查服务状态:
systemctl status opentsdb
服务状态可能为 dead,这没关系,接下来还需要修改配置文件。
打开配置文件:
vi /etc/opentsdb/opentsdb.conf
添加以下配置:
tsd.network.port = 4242tsd.http.staticroot = /usr/share/opentsdb/static/tsd.http.cachedir = /tmp/opentsdbtsd.core.auto_create_metrics = truetsd.core.plugin_path = /usr/share/opentsdb/plugins/# Zookeeper 的地址tsd.storage.hbase.zk_quorum = localhost:2181,localhost:2182,localhost:2183tsd.storage.fix_duplicates = truetsd.http.request.enable_chunked = truetsd.http.request.max_chunk = 4096000tsd.storage.max_tags = 16
OpenTSDB 会自动检测到我们在 HBase 中创建的表结构,所以无需手动修改表名。以下是一些常用配置(部分在后续源码解析中会有详细说明):
tsd.storage.hbase.data_table = tsdbtsd.storage.hbase.uid_table = tsdb-uidtsd.storage.hbase.tree_table = tsdb-treetsd.storage.hbase.meta_table = tsdb-meta启动 OpenTSDB 服务:
systemctl start opentsdb
访问 OpenTSDB 界面:
http://localhost:4242/
到这里,OpenTSDB 的安装部署就完成了。如果你对 OpenTSDB 的源码感兴趣,后面我会结合部分源码分享一些探索性的问题。希望这篇文档能对你有所帮助!
转载地址:http://ziguz.baihongyu.com/