如何配置TDengine使用Amazon S3存储数据?
TDengine 配置Amazon S3存储操作步骤
仅TDengine 3.0及以上版本支持S3作为冷数据存储介质,低版本无对应功能
1. 前置准备
- 已开通Amazon S3服务,创建好用于存储TDengine数据的专属桶,提前获取对应Access Key、Secret Key、桶所在区域的Endpoint
- 确保TDengine集群所有节点都可以正常访问该S3 Endpoint,无防火墙、安全组等网络策略限制
2. 修改服务端配置
修改所有taosd节点的配置文件(默认路径为/etc/taos/taos.cfg),添加以下配置项:
# 启用S3分层存储功能 s3_enable 1 # S3访问密钥ID s3_access_key_id 替换为你的S3 Access Key # S3访问密钥 s3_secret_access_key 替换为你的S3 Secret Key # S3桶名称 s3_bucket 替换为你创建的桶名 # S3服务Endpoint,AWS中国区需要修改为对应区域的Endpoint,比如北京区为`s3.cn-north-1.amazonaws.com.cn` s3_endpoint s3.us-east-1.amazonaws.com # S3存储的根目录前缀,可自定义,避免和桶内其他文件冲突 s3_prefix tdengine_cold_data # S3桶对应的区域名称 s3_region us-east-1
配置修改完成后需要重启所有taosd节点使配置生效
3. 配置冷热数据分层规则
TDengine不会默认将所有数据写入S3,需要为数据库指定冷数据沉降规则,示例如下:
创建数据库时指定数据在本地磁盘保存的时长,超过该时长的数据自动沉降到S3:CREATE DATABASE test KEEP 3650 DAYS 10 BLOCKS 4 'cold_data_keep'=3650 'cold_days'=30;
上述命令的含义是:test数据库的数据在本地热存储保留30天,30天之后的冷数据自动沉降到S3,所有数据总共保留3650天。
4. 配置验证
写入测试数据后,若不想等待自然沉降,可手动触发沉降任务:ALTER DATABASE test TRIGGER COLD_COMPACTION;
执行命令查看S3功能状态:SHOW VARIABLES LIKE '%s3%';
若返回s3_enable值为1,且可以正常查询到冷数据周期内的历史数据,说明配置生效。
注意:S3存储仅用于保存冷数据,热数据、元数据仍需要存储在本地磁盘,无法实现全量数据直接存储到S3。
内容的提问来源于stack exchange,提问作者lsm
相关产品推荐
相关产品推荐

