ThingsBoard 初始化数据到 Cassandra
正文与配图来自原稿。单节点 Cassandra 安装,用 ThingsBoard Install 初始化遥测表结构,并验证写入。很多人说「没数据」,多半是没改配置连上 Cassandra。
1、概述
安装 Cassandra,让 ThingsBoard 把遥测相关表结构初始化到 Cassandra,并查看数据。本次为单节点。业务库仍可用 PostgreSQL;ts-kv / ts-latest 走 Cassandra。
2、拉取镜像
前提:已安装 Docker。
bash
docker pull cassandra:4.0.43、启动 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.44、修改 ThingsBoard 配置
在 ThingsBoard 的 yml 中配置 Cassandra 连接,并指定 ts / ts_latest(或文档中的 ts-kv / ts-latest)使用 Cassandra 存储:



(具体键名以你版本 thingsboard.yml 为准,也可用环境变量覆盖,见 application.yml 配置。)
5、初始化
运行 ThingsboardInstallApplication(IDEA 中运行该类的 main)执行安装/升级脚本:
- PostgreSQL:业务相关表
- Cassandra:遥测 ts / ts_latest 等表结构
确保 Install 进程能同时访问 PG 与 Cassandra(地址、端口、账号正确)。
6、IDEA 安装 Cassandra 插件
在 IDEA Plugins 中搜索 Cassandra 并安装:

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

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

8、测试发送遥测数据
设备上报遥测后,在 TB 界面与 Cassandra 中核对:



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