如何在Linux中安装并配置OpenTSDB Linux存储海量监控度量的方法

风雪小哥_8064

风雪小哥_8064

2026-06-05

477人浏览

原创

opentsdb本身不存储数据,仅是hbase上层时序查询引擎;90%收不到指标因hbase未运行、zookeeper连不通或zookeeper.quorum/table.name配置错误,需先确认hbase和zookeeper就绪互通,并启用hbase.regionserver.thrift.framed=true、严格同步时间、匹配表名namespace。

如何在linux中安装并配置opentsdb linux存储海量监控度量的方法

OpenTSDB 本身不存数据,它只是 HBase 的上层查询引擎;装了 OpenTSDB 却收不到指标,90% 是因为 HBase 没跑起来、ZooKeeper 连不通,或配置项写错——不是 OpenTSDB 有问题,是底座没搭稳。

确认 HBase 和 ZooKeeper 已就绪且互通

OpenTSDB 启动卡在 Failed to connect to HBase 或静默无监听(netstat -tlnp | grep 4242 看不到进程),先别碰 tsdb.conf,回头检查底层依赖:

  • 用 echo "status" | hbase shell -n 确认 HBase master/regionserver 已 ready;若报错,检查 HBASE_HOME 和 JAVA_HOME 是否指向同一套 JDK(Java 8/11 不混用)
  • RegionServer 必须启用 hbase.regionserver.thrift.framed=true(默认 false),否则 OpenTSDB async client 无法通信;改完 hbase-site.xml 要重启 RegionServer
  • zookeeper.quorum 必须填 ZooKeeper 集群真实地址(如 zk1:2181,zk2:2181,zk3:2181),不能写 localhost;所有节点需运行 chronyd 或 ntpd 保证时间同步,偏差 >1s 会导致 HBase session 失效
  • 用 telnet zk1 2181 + stats 命令验证 ZooKeeper 可达且健康

正确创建 HBase 表并关闭压缩(避免 LZO 依赖)

OpenTSDB 默认建表脚本启用 LZO 压缩,但多数环境没装 LZO codec,直接执行 create_table.sh 会失败或表不可写:

Linux installer
Linux installer

先解析安全源,运行本地CLI安装、启动、卸载Linux桌面应用。用户请求时使用。

下载
  • 进入 opentsdb/src/ 目录,编辑 create_table.sh,在开头显式设置:COMPRESSION=NONE 和 HBASE_HOME=/path/to/hbase
  • 确保 HBASE_HOME 指向实际 HBase 安装路径,并且该路径下 bin/hbase 可执行
  • 执行 env COMPRESSION=NONE HBASE_HOME=/opt/hbase ./create_table.sh;成功后进 hbase shell 执行 list,应看到 tsdb、tsdb-uid 等 4 张表
  • 如果用的是 HBase 2.4.x,注意表名默认带 namespace(如 default:tsdb),后续 tsdb.conf 中的 table.name 必须匹配,否则写入静默丢弃

tsdb.conf 里最关键的两个配置项

zookeeper.quorum 和 table.name 配错,OpenTSDB 会完全不启动(无报错、无端口监听),这是最常踩的坑:

  • tsd.storage.hbase.zk_quorum:必须和 HBase 的 hbase.zookeeper.quorum 完全一致,IP 一个都不能少,端口不能省略(如 zk1:2181,zk2:2181)
  • tsd.storage.hbase.table:值必须与 create_table.sh 实际创建的表名一致;HBase 2.4+ 默认使用 namespace,所以通常填 default:tsdb 而非仅 tsdb
  • tsd.core.auto_create_metrics 建议设为 true,否则写入未预定义 metric 会直接拒绝(如 sys.cpu.user)
  • tsd.network.port 默认 4242,确保防火墙放行(firewall-cmd --add-port=4242/tcp --permanent)

启动前务必验证 Java/HBase 客户端 ABI 兼容性

启动时抛 NoClassDefFoundError: org/apache/hadoop/hbase/client/AsyncConnectionBuilder,大概率是 Java 版本与 HBase 客户端二进制不兼容:

  • OpenTSDB 2.4.1 官方预编译包已绑定 HBase 2.4.9 客户端,推荐直接下载 opentsdb-2.4.1.tar.gz,不要自己 mvn package
  • 若必须自编译,pom.xml 中必须锁定 hbase-client 版本(如 2.4.9),并用 mvn clean package -DskipTests -Dhbase.version=2.4.9
  • 启动脚本中 JAVA_HOME 和 HBASE_HOME 必须指向同一套 JDK + HBase;HBase 若用 Java 11 编译,OpenTSDB 就不能用 Java 8 启动
  • 首次启动前,先运行 ./build/tsdb mkmetric --force sys.cpu.user 测试写入通路;失败时重点看日志里是否含 Unsupported major.minor version(Java 版本错)或 ClassNotFoundException(jar 包缺失)

最易被忽略的是:HBase 表名带 namespace、ZooKeeper 地址少写一个 IP、RegionServer 没开 thrift.framed —— 这三处任一出错,OpenTSDB 都不会报明确错误,只会“假装没启动”。建议每次改完配置,都重走一遍 create_table.sh → tsdb mkmetric → 日志检查 链路。

相关文章

PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

linux

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
磁盘配额是什么
磁盘配额是什么

磁盘配额是计算机中指定磁盘的储存限制,就是管理员可以为用户所能使用的磁盘空间进行配额限制,每一用户只能使用最大配额范围内的磁盘空间。php中文网为大家提供各种磁盘配额相关的内容,教程,供大家免费下载安装。

2023.06.21

3910

4

如何安装LINUX
如何安装LINUX

本站专题提供如何安装LINUX的相关教程文章,还有相关的下载、课程,大家可以免费体验。

2023.06.29

3353

10

linux find
linux find

find是linux命令,它将档案系统内符合 expression 的档案列出来。可以指要档案的名称、类别、时间、大小、权限等不同资讯的组合,只有完全相符的才会被列出来。find根据下列规则判断 path 和 expression,在命令列上第一个 - ( ) , ! 之前的部分为 path,之后的是 expression。还有指DOS 命令 find,Excel 函数 find等。本站专题提供linux find相关教程文章,还有相关

2023.06.30

2493

5

linux修改文件名
linux修改文件名

本专题为大家提供linux修改文件名相关的文章,这些文章可以帮助用户快速轻松地完成文件名的修改工作,大家可以免费体验。

2023.07.05

6050

7

linux系统安装教程
linux系统安装教程

linux系统是一种可以免费使用,自由传播,多用户、多任务、多线程、多CPU的操作系统。本专题提供linux系统安装教程相关的文章,大家可以免费体验。

2023.07.06

5682

7

linux查看文件夹大小
linux查看文件夹大小

Linux是一种自由和开放源码的类Unix操作系统,存在着许多不同的Linux版本,但它们都使用了Linux内核。Linux可安装在各种计算机硬件设备中,比如手机、平板电脑、路由器、视频游戏控制台、台式计算机、大型机和超级计算机。linux怎么查看文件夹大小呢?php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

2023.07.20

3333

8

linux查看ip命令
linux查看ip命令

本专题为大家提供linux查看ip命令相关文章内容,感兴趣的朋友可以免费下载体验试试。

2023.07.20

2845

4

linux查看cpu使用率
linux查看cpu使用率

在linux的系统维护中,可能需要经常查看cpu使用率,分析系统整体的运行情况。本专题为大家带来了linux查看cpu使用率的相关文章,感兴趣的朋友千万不要错过了。

2023.07.25

3059

6

linux查找文件命令
linux查找文件命令

Linux是一种自由和开放源码的类Unix操作系统,存在着许多不同的Linux版本,但它们都使用了Linux内核。Linux可安装在各种计算机硬件设备中,比如手机、平板电脑、路由器、视频游戏控制台、台式计算机、大型机和超级计算机。php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

2023.07.31

297

3

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Apache Storm教程手册
Apache Storm教程手册

共11课时 | 15.1万人学习

Buffalo框架快速入门指南
Buffalo框架快速入门指南

共0课时 | 0人学习

Valgrind支持平台说明
Valgrind支持平台说明

共0课时 | 0人学习