Skip to content

ThingsBoard 初始化数据到 Cassandra ​

正文与配图来自原稿。单节点 Cassandra 安装,用 ThingsBoard Install 初始化遥测表结构,并验证写入。很多人说「没数据」,多半是没改配置连上 Cassandra。

1、概述 ​

安装 Cassandra,让 ThingsBoard 把遥测相关表结构初始化到 Cassandra,并查看数据。本次为单节点。业务库仍可用 PostgreSQL;ts-kv / ts-latest 走 Cassandra。

2、拉取镜像 ​

前提:已安装 Docker。

bash
docker pull cassandra:4.0.4

3、启动 Cassandra ​

启动后需等待一段时间,Cassandra 会做内部初始化。

bash
# 创建网络
docker network create cassandra

# 安装并启动 Cassandra
docker run -d --name zd-cassandra --restart always \
  -p 9042:9042 \
  --network cassandra \
  -v /root/cassandra:/var/lib/cassandra \
  -e CASSANDRA_USER=cassandra \
  -e CASSANDRA_PASSWORD=cassandra \
  cassandra:4.0.4

4、修改 ThingsBoard 配置 ​

在 ThingsBoard 的 yml 中配置 Cassandra 连接,并指定 ts / ts_latest(或文档中的 ts-kv / ts-latest)使用 Cassandra 存储:

Cassandra 连接配置 1

时序存储选型 2

相关配置 3

(具体键名以你版本 thingsboard.yml 为准,也可用环境变量覆盖,见 application.yml 配置。)

5、初始化 ​

运行 ThingsboardInstallApplication(IDEA 中运行该类的 main)执行安装/升级脚本:

  • PostgreSQL:业务相关表
  • Cassandra:遥测 ts / ts_latest 等表结构

确保 Install 进程能同时访问 PG 与 Cassandra(地址、端口、账号正确)。

6、IDEA 安装 Cassandra 插件 ​

在 IDEA Plugins 中搜索 Cassandra 并安装:

安装 Cassandra 插件

7、IDEA 连接 Cassandra ​

配置连接(主机、9042、用户名密码等):

连接 Cassandra

查看表结构(ThingsBoard 初始化后的 keyspace / 表):

查看表结构

8、测试发送遥测数据 ​

设备上报遥测后,在 TB 界面与 Cassandra 中核对:

上报遥测 1

遥测 / 查询 2

Cassandra 侧数据 3


补充(辅) ​

点说明
「没数据」先确认 yml/环境变量已切到 Cassandra,且 Install 已成功跑完
混合存储常见:实体在 PG,历史/最新遥测在 Cassandra(与 压测最新遥测 一致)
生产单节点仅学习;生产需集群、备份与合适 compaction
Docker Compose正式环境也可直接用官方带 Cassandra 的 Compose,见 Ubuntu 部署

相关文章 ​