镜像版本 :tdengine/tsdb:3.4.0.0
问题 :
使用docker exec进入镜像修改/etc/taos/taos.cfg文件添加如下内容后重启容器,配置未生效,创建容器的时候使用外部挂载方式挂载taos.cfg文件添加下述配置也同样无效:
queryUseMemoryPool 1
minReservedMemorySize 1024
singleQueryMaxMemorySize 10
使用sql语句修改上述配置报错如下:
alter dnode 1 ‘queryUseMemoryPool’ ‘1’;
DB error: syntax error near "‘queryusememorypool’ ‘1’;" [0x80002600] (0.000118s)
alter dnode 1 ‘minReservedMemorySize‘ ‘1024‘;
DB error: syntax error near "‘minreservedmemorysize‘ ‘1024‘;" [0x80002600] (0.000085s)
taos> alter dnode 1 ‘singleQueryMaxMemorySize‘ ‘10‘;
DB error: Invalid config option [0x80000119] (0.000633s)
修改或者挂载容器中的taosadapter.toml,taoskeeper.toml,explorer.toml配置文件内容也同样无效。
请问使用容器部署TSDB的时候改如何修改各种相关配置?上述手段全部无效,官方文档中也没有提及。
可以按照如下步骤配置和部署:
1. 在 taos.cfg 中正确配置
配置文件 /etc/taos/taos.cfg 的正确写法如下。确保每行开头没有 # 号。
properties
开启内存池
queryUseMemoryPool 1 # 设置最小预留系统内存为 1024 MB (1 GB) minReservedMemorySize 1024 # 设置单个查询内存上限为 10240 MB (10 GB) singleQueryMaxMemorySize 10240 #
可选:强制加载配置文件,影响面较大,建议谨慎使用。
forceReadConfig 1
2. 在Docker中正确使配置生效
停止并删除现有容器 :docker stop <容器名> && docker rm <容器名> 。
准备配置文件 :确保宿主机的 taos.cfg 文件内容正确。
启动新容器并挂载配置 :
bash
docker run -d \ –name tdengine \ -v /path/to/your/taos.cfg:/etc/taos/taos.cfg \ tdengine/tsdb:3.4.0.0
进入容器并重启服务 :在容器内执行 taosd 重启命令。
验证配置是否生效 :在 taos 命令行中执行以下命令查看参数是否已更新。
sql
SHOW DNODE 1 VARIABLES LIKE ‘queryUseMemoryPool’;
SHOW DNODE 1 VARIABLES LIKE ‘minReservedMemorySize’;
SHOW DNODE 1 VARIABLES LIKE ‘singleQueryMaxMemorySize’;
肖泽汝:
forceReadConfig
但是我看官方文档中说明3.4.0.0中 forceReadConfig参数废弃了呀
我现在的问题就是,修改配置文件无效(可能是因为废弃了),但是使用alert修改配置也不行。根本无法修改配置。
taos.cfg中添加了如下参数后重启容器, queryUseMemoryPool以外的配置修改成功:
我现在还有两个问题:
1.在3.4.0.0版本中,forceReadConfig参数到底是否有效,官方文档是否准确?
2.为什么queryUseMemoryPool的修改没有生效?