OpenTSDB安装
时序数据库
时序数据库全称为时间序列数据库。主要用于处理带时间标签(按照时间的顺序变化,即时间序列化)的数据,带时间标签的数据也称为时间序列数据。时间序列数据主要由电力行业、化工行业、物联网行业等各类型实时监测、检查与分析设备所采集、产生的数据,这些数据的典型特点是:产生频率快(每一个监测点一秒钟内可产生多条数据)、严重依赖于采集时间(每一条数据均要求对应唯一的时间)、测点多信息量大(常规的实时监测系统均有成千上万的监测点,监测点每秒钟都产生数据,每天产生几十GB的数据量)。
时序数据库最新排名(DB-Engines):

OpenTSDB介绍
OpenTSDB用HBase存储所有的时序来构建一个分布式、可伸缩的时间序列数据库。它支持秒级数据采集所有metrics,支持永久存储,可以做容量规划,并很容易的接入到现有的报警系统里。OpenTSDB可以从大规模的集群(包括集群中的网络设备、操作系统、应用程序)中获取相应的metrics并进行存储、索引以及服务,从而使得这些数据更容易让人理解,如web化、图形化等。
底层使用Hbase作为其分布式存储引擎,采用的也是LSM tree。
安装
- 安装依赖
jdk
hbase
- Opentsdb依赖Gnuplot,它 是一个命令行的交互式绘图工具。用户通过输入命令,可以逐步设置或修改绘图环境,并以图形描述数据或函数,使我们可以借由图形做更进一步的分析。
yum install gnuplot
- 下载源码包:
wget https://github.com/OpenTSDB/opentsdb/releases/download/v2.3.0/opentsdb-2.3.0.tar.gz
- 解压:
tar zxvf opentsdb-2.3.0.tar.gz
- 进目录
cd opentsdb-2.3.0
- 编译安装
./build.sh
cd build
make install
配置OpenTSDB
# vim ./opentsdb.conf
# The TCP port TSD should use for communications
# *** REQUIRED ***
tsd.network.port = 4242
# The location of static files for the HTTP GUI interface.
# *** REQUIRED ***
tsd.http.staticroot =build/staticroot
# Where TSD should write it's cache files to
# *** REQUIRED ***
tsd.http.cachedir = /tmp/tsd
# Whether or not to automatically create UIDs for new metric types, default is False
tsd.core.auto_create_metrics = true
# A comma separated list of Zookeeper hosts to connect to
tsd.storage.hbase.zk_quorum = cdhmanager:2181
# Cover duplicates data
tsd.storage.fix_duplicates = true
配置参数优先级:命令行参数 > 配置文件 > 默认值
你可以在命令行中通过--config指定配置文件所在路径,如果没有指定,OpenTSDB会从以下路径寻找配置文件:
- ./opentsdb.conf
- /etc/opentsdb.conf
- /etc/opentsdb/opentsdb.conf
- /opt/opentsdb/opentsdb.conf
protected void loadConfig() throws IOException {
if (config_location != null && !config_location.isEmpty()) {
loadConfig(config_location);
return;
}
final ArrayList<String> file_locations = new ArrayList<String>();
// search locally first
file_locations.add("opentsdb.conf");
// add default locations based on OS
if (System.getProperty("os.name").toUpperCase().contains("WINDOWS")) {
file_locations.add("C:\\Program Files\\opentsdb\\opentsdb.conf");
file_locations.add("C:\\Program Files (x86)\\opentsdb\\opentsdb.conf");
} else {
file_locations.add("/etc/opentsdb.conf");
file_locations.add("/etc/opentsdb/opentsdb.conf");
file_locations.add("/opt/opentsdb/opentsdb.conf");
}
for (String file : file_locations) {
try {
FileInputStream file_stream = new FileInputStream(file);
Properties props = new Properties();
props.load(file_stream);
// load the hash map
loadHashMap(props);
} catch (Exception e) {
// don't do anything, the file may be missing and that's fine
LOG.debug("Unable to find or load " + file, e);
continue;
}
// no exceptions thrown, so save the valid path and exit
LOG.info("Successfully loaded configuration file: " + file);
config_location = file;
return;
}
LOG.info("No configuration found, will use defaults");
}
创建表
env COMPRESSION=NONE HBASE_HOME=/usr ./src/create_table.sh
COMPRESSION=NONE,不使用压缩。如使用则需修改hadoop配置。
脚本会在hbase中自动创建tsdb所用到的表
create 'tsdb-uid',
{NAME => 'id', COMPRESSION => 'NONE', BLOOMFILTER => 'ROW'},
{NAME => 'name', COMPRESSION => 'NONE', BLOOMFILTER => 'ROW'}
0 row(s) in 3.3470 seconds
Hbase::Table - tsdb-uid
create 'tsdb',
{NAME => 't', VERSIONS => 1, COMPRESSION => 'NONE', BLOOMFILTER => 'ROW'}
0 row(s) in 0.3780 seconds
Hbase::Table - tsdb
create 'tsdb-tree',
{NAME => 't', VERSIONS => 1, COMPRESSION => 'NONE', BLOOMFILTER => 'ROW'}
0 row(s) in 0.4340 seconds
Hbase::Table - tsdb-tree
create 'tsdb-meta',
{NAME => 'name', COMPRESSION => 'NONE', BLOOMFILTER => 'ROW'}
0 row(s) in 0.3780 seconds
log
logback.xml 配置文件放入src目录中即可
start
nohup /opt/opentsdb-2.3.0/build/tsdb tsd --config=/opt/opentsdb-2.3.0/src/opentsdb.conf >/dev/null 2>&1 &
访问页面

OpenTSDB安装的更多相关文章
- Linux记录-grafana opentsdb安装
wget https://dl.grafana.com/oss/release/grafana-6.1.4-1.x86_64.rpm sudo yum localinstall grafana-6.1 ...
- OpenTSDB 简单使用 .NET
OpenTSDB是基于Hbase的时序数据库[时间序列数据库].不具备通用性,主要针对具有时间特性和需求的数据,如监控数据.温度变化数据等. 1.安装OpenTSDB 安装前一定要安装HBase,相关 ...
- centos7安装部署opentsdb2.4.0
写在前面 安装HBase 在HBase中创建表结构 安装配置并启动opentsdb 写在前面 最近因为项目需要在读opentsdb的一部分源码,后面会做个小结分享出来.本人是不大喜欢写这种安装部署的文 ...
- openTSDB (rpm)安装 + Grafana 视图
1.提前安装环境 操作系统:CentOS OpenTSDB版本:2.0.1 JDK版本:1.8.1_101 Apache HBase版本:1.1.2 2.安装Grafana yum安装grafana ...
- Opentsdb分布式安装
Opentsdb分布式安装 --李琦 1.下载文件上传到虚拟机 -rw-r--r--. 1 root root 76793860 Apr 27 10:56 opentsdb-2.2.0.tar ...
- Fabio 安装和简单使用
Fabio(Go 语言):https://github.com/eBay/fabio Fabio 是一个快速.现代.zero-conf 负载均衡 HTTP(S) 路由器,用于部署 Consul 管理的 ...
- 时序列数据库武斗大会之 OpenTSDB 篇
[编者按] 刘斌,OneAPM后端研发工程师,拥有10多年编程经验,参与过大型金融.通信以及Android手机操作系的开发,熟悉Linux及后台开发技术.曾参与翻译过<第一本Docker书> ...
- zabbix3.0 安装方法,一键实现短信、电话、微信、APP 告警
引言 免费开源监控工具 Zabbix 因其强大的监控功能得到各大互联网公司的广泛认可,具体功能不再详细介绍,在之前发布的 Zabbix 2.4.1 安装及微信短信提醒已经做了详细介绍,本篇主要对 Za ...
- Nagios 安装及微信短信提醒
引言 Nagios 作为业界非常强大的一款开源监视系统. 监控网络服务(SMTP.POP3.HTTP.NNTP.PING 等): 监控主机资源(处理器负荷.磁盘利用率等): 简单地插件设计使得用户可以 ...
随机推荐
- 【PPT】 Least squares temporal difference learning
最小二次方时序差分学习 原文地址: https://www.google.com/url?sa=t&rct=j&q=&esrc=s&source=web&cd= ...
- 无重复字符的最长子串-LeetCode-第3题-C++
题目:无重复字符的最长子串 题目描述:给定一个字符串,找出不含有重复字符的最长子串的长度. 最长不重复子串可能有很多个,但是其长度只有一种. 方法一:暴力搜索法 方法二:滑动窗口 哈希表:要查找一个元 ...
- Git忽略文件权限
有时 git diff 执行显示文件内容没变化,但是git status却是一片姨妈红: 原因是文件的权限,被chmod变化了,这种变化也被 diff 识别出来了,git diff某个文件类似如下: ...
- Redis整理
1. Redis采用的是单进程多线程的模式.当redis.conf中选项daemonize设置成yes时,代表开启守护进程模式.在该模式下,redis会在后台运行,并将进程pid号写入至redis.c ...
- guling code细节
detect_hand.py 分水岭算法: 任何一幅灰度图像都可以被看成拓扑平面,灰度值高的区域可以被看成是山峰,灰度值低的区域可以被看成是山谷.我们向每一个山谷中灌不同颜色的水,随着水的位的升高,不 ...
- currentStyle&getComputedStyle获取属性
方法如下: function getStyle(obj,attr){ if(obj.currentStyle){ return obj.currentStyle[attr]; // IE 中的方法 } ...
- 更换JDK版本时的问题:Error: could not open `C:\Java\jre7\lib\amd64\jvm.cfg'
1.先把oracle自带的weblogic给卸载了,然后打开eclipse,发现报错了:Error: could not open `C:\Java\jre7\lib\amd64\jvm.cfg' J ...
- 02 http,servlet,servletconfig,HttpServletRequest ,HttpServletResponse
Http协议 协议:双方在交互.通讯的时候, 遵守的一种规范.规则.http协议:针对网络上的客户端 与 服务器端在执行http请求的时候,遵守的一种规范. 其实就是规定了客户端在访问服务器端的时候, ...
- 【HDOJ3861】【Tarjan缩点+最小路径覆盖】
http://acm.hdu.edu.cn/showproblem.php?pid=3861 The King’s Problem Time Limit: 2000/1000 MS (Java/Oth ...
- 斐波那契数列的生成 %1e8 后的结果
方法一 用数组开,一般开到1e7,1e8 左右的数组就是极限了 对时间也是挑战 #include<bits/stdc++.h> using namespace std; ; int ...