本指南介绍如何为ThingsBoard配置Datastax Astra DB云数据库。这是自建 Cassandra集群的替代方案。
- 前置条件
- 步骤1. 注册Astra DB账户
- 步骤2. 在Astra DB上创建Keyspace
- 步骤3. 生成Token
- 步骤4. 下载安全连接包
- 步骤5. 在ThingsBoard上设置连接参数
- Step 6. Run standard ThingsBoard install
- TL;DR
- Thingsboard test run on Astra DB cloud
前置条件
需要高速、低延迟的网络连接来与Astra DB云上的Cassandra通信。需允许出站连接到 https://astra.datastax.com
步骤1. 注册Astra DB账户
注册新账户或登录已有账户。要注册新账户,请访问Astra DB注册页面


步骤2. 在Astra DB上创建Keyspace
创建名为thingsboard的新数据库,keyspace同样命名为thingsboard。选择离您最近的位置和您喜欢的云服务提供商。



数据库列表将如下图所示:

步骤3. 生成Token
安装ThingsBoard架构需要Database administrator角色。在thingsboard数据库上单击Create a token。



步骤4. 下载安全连接包
要使用驱动程序连接Astra DB数据库,需要从DataStax Astra控制台下载包含连接凭据的安全数据库包。
有关安全包的详细信息,请参考Astra DB文档
或按下图所示操作:



secure-connect-thingsboard.zip文件包含数据库的安全证书和凭据。
步骤5. 在ThingsBoard上设置连接参数
以下是使用Astra DB与ThingsBoard配合时需要设置的环境变量。
ThingsBoard服务
对于作为本地服务的ThingsBoard,将以下内容添加到/etc/thingsboard/conf/thingsboard.conf
1
2
3
4
5
6
export DATABASE_TS_TYPE=cassandra
# Cassandra on Astra DB cloud
export CASSANDRA_CLOUD_SECURE_BUNDLE_PATH=/etc/thingsboard/astra/secure-connect-thingsboard.zip
# dbadmin
export CASSANDRA_CLOUD_CLIENT_ID=KNpxZasfKNpxZasfKNpxZasf
export CASSANDRA_CLOUD_CLIENT_SECRET=6Rht+1oh8H_v4f3dbFiZ.KHBim6Rht+1oh8H_v4f3dbFiZ.KHBim6Rht+1oh8H_v4f3dbFiZ.KHBim
ThingsBoard Docker Compose
以下是docker-compose.yml的配置示例:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
version: '3'
services:
tb:
image: "thingsboard/tb-postgres:3.4.2"
network_mode: "host"
restart: "always"
# replace /home/your_user/Downloads/ with your local path
volumes:
- /home/your_user/Downloads/secure-connect-thingsboard.zip:/etc/thingsboard/astra/secure-connect-thingsboard.zip
environment:
HTTP_BIND_PORT: "8080"
DATABASE_TS_TYPE: "cassandra"
# Cassandra on cloud
CASSANDRA_CLOUD_SECURE_BUNDLE_PATH: "/etc/thingsboard/astra/secure-connect-thingsboard.zip"
# dbadmin
CASSANDRA_CLOUD_CLIENT_ID: "KNpxZasfKNpxZasfKNpxZasf"
CASSANDRA_CLOUD_CLIENT_SECRET: "6Rht+1oh8H_v4f3dbFiZ.KHBim6Rht+1oh8H_v4f3dbFiZ.KHBim6Rht+1oh8H_v4f3dbFiZ.KHBim"
ThingsBoard Kubernetes集群
创建包含base64编码的bundle文件、client_id和client_secret的Secret。
以下是编码client_id或client_secret的方法。编码后的字符串将显示在屏幕上。
将其复制并粘贴到astra-secret.yaml中。
1
2
echo -n "your_client_id" | base64 -w 0
echo -n "your_client_secret" | base64 -w 0
以下是将文件编码并将结果复制到剪贴板(单行)的方法:
1
base64 -w 0 /home/your_user/projects/astra/secure-connect-thingsboard.zip | xclip -selection clipboard
生成的文件将类似于astra-secret.yml。secure-connect-thingsboard.zip编码后的字符串非常长。
1
2
3
4
5
6
7
8
9
10
11
apiVersion: v1
kind: Secret
metadata:
name: astra-secret
type: Opaque
data:
secure-connect-thingsboard.zip: >-
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
client_id: S05weFphc2ZLTnB4WmFzZktOcHhaYXNm
client_secret: NlJodCsxb2g4SF92NGYzZGJGaVouS0hCaW02Umh0KzFvaDhIX3Y0ZjNkYkZpWi5LSEJpbTZSaHQrMW9oOEhfdjRmM2RiRmlaLktIQmlt
---
Then mount secure-connect-thingsboard.zip from secret to the tb-node.yml and tb-rule-engine.yml.
Add the environment variables to provide Astra DB credentials. Here an example for tb-node.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
# example header
apiVersion: apps/v1
kind: StatefulSet
metadata:
name: tb-node
spec:
serviceName: tb-node-headless
replicas: 2
podManagementPolicy: "Parallel"
selector:
matchLabels:
app: tb-node
template:
metadata:
labels:
app: tb-node
spec:
# below is the Astra DB related settings
volumes:
- name: astra-secret
secret:
secretName: "astra-secret"
items:
- key: secure-connect-thingsboard.zip
path: secure-connect-thingsboard.zip
containers:
- name: tb-node
image: thingsboard/tb-node:3.4.2
volumeMounts:
- mountPath: /etc/thingsboard/astra
name: astra-secret
readOnly: true
env:
- name: CASSANDRA_CLOUD_CLIENT_ID
valueFrom:
secretKeyRef:
name: astra-secret
key: client_id
- name: CASSANDRA_CLOUD_CLIENT_SECRET
valueFrom:
secretKeyRef:
name: astra-secret
key: client_secret
- name: CASSANDRA_CLOUD_SECURE_BUNDLE_PATH
value: "/etc/thingsboard/astra/secure-connect-thingsboard.zip"
# merge carefully with your actual yaml file(s)
---
Take notice that you don’t need to provide Cassandra user, password, endpoint, keyspace, datacenter, SSL, etc. All details will be set automatically based on CASSANDRA_CLOUD_SECURE_BUNDLE_PATH, CASSANDRA_CLOUD_CLIENT_ID, CASSANDRA_CLOUD_CLIENT_SECRET values.
Step 6. Run standard ThingsBoard install
ThingsBoard is already support install on Astra DB cloud. It is enough to provide CASSANDRA_CLOUD_SECURE_BUNDLE_PATH, CASSANDRA_CLOUD_CLIENT_ID, CASSANDRA_CLOUD_CLIENT_SECRET values before install.
TL;DR
The key difference with stand alone Cassandra is that you are not able to create a keyspace using CQL. For the Astra DB cloud, you have to create keyspace from UI or API at first. And create user with credentials at second.
下一步 are completely the same for on-premise Cassandra and Astra DB cloud.
Thingsboard test run on Astra DB cloud
Here an example how to test your Thingsboard with your Astra DB using performance test tool.
To spin up the Thingsboard locally, use docker-compose.yml provided couple sections above.
IMPORTANT: The test will consume your Credits. Please use it smart. Don’t forget to delete the keyspace after your test.
Let’s put some telemetry from 1000 devices each 10 seconds during 1 hour.
1
2
3
4
5
6
7
8
9
10
11
12
13
docker run -it --rm --network host --name tb-perf-test \
--pull always --log-driver none \
--env REST_URL=http://127.0.0.1:8080 \
--env MQTT_HOST=127.0.0.1 \
--env REST_USERNAME=tenant@thingsboard.org \
--env REST_PASSWORD=tenant \
--env DEVICE_END_IDX=1000 \
--env MESSAGES_PER_SECOND=100 \
--env DURATION_IN_SECONDS=3600 \
--env ALARMS_PER_SECOND=1 \
--env DEVICE_CREATE_ON_START=true \
--env TEST_PAYLOAD_TYPE=SMART_METER \
thingsboard/tb-ce-performance-test:latest