在统信uos上部署opentsdb需先安装jdk 8u292+和hbase 1.4~2.4,配置zookeeper连接及本地存储路径,再安装opentsdb并初始化tsdb、tsdb-uid、tsdb-meta三张hbase表,最后启动服务并验证api版本。

在统信UOS上部署OpenTSDB用于时序数据采集与查询,需先构建HBase存储后端,再安装OpenTSDB服务并完成ZooKeeper连接配置;若跳过HBase直接装OpenTSDB,服务将无法启动且日志中反复报“Connection refused”错误。
准备Java与HBase环境
OpenTSDB 2.4+要求JDK 8u292及以上版本,且必须运行在HBase 1.4~2.4之间;UOS默认未预装HBase,需手动编译或使用CDH兼容包。
执行java -version确认输出含1.8.0_292或更高版本号,否则运行sudo apt install openjdk-8-jdk安装并设为默认:sudo update-alternatives --config java。
下载适配UOS的HBase二进制包(推荐hbase-2.3.7-bin.tar.gz),解压至/opt/hbase,编辑/opt/hbase/conf/hbase-env.sh设置JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64(路径需与readlink -f $(which java)结果一致)。
修改/opt/hbase/conf/hbase-site.xml,填入ZooKeeper地址(单机模式填localhost:2181),并确保hbase.rootdir指向本地文件系统路径(如file:///var/lib/hbase)——【若指向HDFS路径却未部署Hadoop,HBase将拒绝启动】。
执行/opt/hbase/bin/start-hbase.sh启动服务,用ps aux | grep hbase验证进程存在,再运行echo "status" | /opt/hbase/bin/hbase shell确认返回1 active master。
安装OpenTSDB并初始化表结构
方法一:使用RPM包安装(推荐)
下载opentsdb-2.4.0.noarch.rpm,执行sudo rpm -ivh opentsdb-2.4.0.noarch.rpm;若提示依赖缺失,先运行sudo apt install libstdc++6 libgcc1补全基础库。
方法二:源码编译安装(适用于定制需求)
克隆OpenTSDB官方仓库:git clone https://github.com/OpenTSDB/opentsdb.git && cd opentsdb,检出v2.4.0标签,执行./build.sh生成build/tsdb-2.4.0.jar。
无论哪种方式,都需确保/etc/opentsdb/opentsdb.conf中tsd.storage.hbase.zk_quorum值与HBase配置完全一致,例如127.0.0.1:2181——【此处IP不能写localhost,否则ZK客户端解析失败】。
创建HBase表并启动OpenTSDB
第一步:切换到HBase用户权限上下文
执行sudo -u hbase /opt/hbase/bin/hbase shell进入交互终端。
第二步:执行建表脚本
粘贴并回车以下命令:
create 'tsdb', {NAME => 't', TTL => 0}create 'tsdb-uid', {NAME => 'id', TTL => 0}create 'tsdb-meta', {NAME => 'name', TTL => 0}
第三步:退出HBase Shell后,启动OpenTSDB
运行sudo systemctl start opentsdb,检查状态sudo systemctl status opentsdb,确认输出含Active: active (running)且无Failed to connect to ZooKeeper类报错。
第四步:验证服务可用性
执行curl -s "http://localhost:4242/api/version",返回JSON中"version"字段应为"2.4.0"。











