时序数据库(社区版)TDengine TSDB(安装/Docker版本)
前言TDengine 的 Docker 版本3.4.0.0可以免费试用。你下载并运行的 Docker 镜像对应的就是TDetime 社区版这个版本自带免费许可证可以永久免费使用。推荐当前广泛使用且较为稳妥的 TDengine Docker 版本3.4.0.0。规范的镜像名称从3.3.7.0版本开始TDengine 官方调整了 Docker 镜像的命名规范社区版镜像统一为tdengine/tsdb。3.4.0.0版本使用新名称符合官方长期维护的方向你可以直接使用tdengine/tsdb:3.4.0.0进行拉取。端口完整功能全面该版本的启动命令已经完整包含了6030客户端端口、6041RESTful 端口和6060taosExplorer 可视化工具端口等核心端口映射能让你在安装后立刻体验到 TDengine 的完整功能安装/配置1.拉取镜像docker pull tdengine/tsdb:3.4.0.02.准备目录可选但推荐为了容器销毁后数据不丢失建议在宿主机上创建目录用于持久化存储数据和日志。在D:\Docker\TDengine下创建三个子目录分别用于存放数据、日志和配置文件D:\Docker\TDengine\data→ 映射容器内的数据目录D:\Docker\TDengine\log→ 映射容器内的日志目录D:\Docker\TDengine\cfg→ 存放自定义的taos.cfg配置文件可选可以手动创建或使用命令行mkdir D:\Docker\TDengine\data, D:\Docker\TDengine\log, D:\Docker\TDengine\cfg -Force3.准备自定义配置文件可选如果你需要修改 TDengine 的配置参数可以在D:\Docker\TDengine\cfg下创建一个名为taos.cfg的文件并写入所需的配置项。例如# 数据保留策略必须与 docker-compose 中的挂载点一致 dataDir /var/lib/taos logDir /var/log/taos tempDir /tmp # ---------- 网络配置 ---------- # firstEp # 单节点无需设置集群时才需要指定第一个节点 # fqdn # 容器环境默认使用容器 hostname一般无需修改 serverPort 6030 # 服务端口与映射的容器内端口一致 # ---------- 日志配置定期清理策略 ---------- logKeepDays 30 # 日志文件保留天数超过自动删除默认 0 表示永久保留 asyncLog 1 # 异步日志0关闭1开启提高性能 debugFlag 135 # 日志调试级别默认 135一般无需修改 numOfLogLines 10000000 # 单个日志文件最大行数默认 10,000,000 行 logFileCompression 1 # 日志文件是否压缩1压缩0不压缩 # ---------- 性能与内存调优 ---------- maxTmrCtrl 512 # 定时器线程数默认 512 maxShellConns 50000 # 最大 shell 连接数默认 50000 maxConnections 5000 # 最大 TCP 连接数默认 5000 numOfCommitThreads 4 # 提交线程数默认 4 ratioOfQueryThreads 2 # 查询线程比例默认 2 numOfVnodesPerCore 2.0 # 每个 CPU 核心创建的虚拟节点数默认 2.0 numOfTasks 1024 # 任务队列长度默认 1024 # ---------- 数据存储与保留数据库级别策略请在创建数据库时指定全局默认可在此设置 ---------- # 注意以下参数是创建数据库时的默认值实际可在 CREATE DATABASE 时覆盖 # defaultKeep 365 # 数据保留天数默认 365 天 # defaultDays 10 # 每个数据文件覆盖的天数默认 10 天 # defaultMinRows 100 # 文件块最小记录数默认 100 # defaultMaxRows 4096 # 文件块最大记录数默认 4096 # defaultComp 2 # 压缩标志默认 2表示 lz4 压缩 # ---------- 其他可选配置 ---------- monitor 0 # 是否启用监控0关闭1开启开启会额外记录监控数据 monitorFreq 30 # 监控采集频率秒 httpMaxThreads 100 # HTTP 服务最大线程数影响 RESTful API 并发 httpEnableRecord 0 # 是否记录 HTTP 请求日志0关闭1开启日志定期清理通过logKeepDays 30实现日志自动保留 30 天超期文件会被删除。同时asyncLog 1启用异步写入减少磁盘 I/O 压力。数据保留策略数据保留如 KEEP 天数是在创建数据库时指定的全局默认值可通过defaultKeep等参数设置但推荐在创建数据库时明确指定例如CREATE DATABASE test KEEP 365。临时目录tempDir指向/tmp如果挂载了独立卷如D:/Docker/TDengine/tmp则容器内/tmp对应宿主机的该目录保证临时数据持久化且空间充足。注意dataDir和logDir应保持为容器内的默认路径因为是通过卷挂载将本地目录映射到这些位置的。如果修改了这些路径需要相应调整挂载点。4. docker-compose.yml 文件内容使用 Docker Compose 来管理 TDengine 容器这样配置更清晰、易于维护。以下是一个适用于 Windows 的docker-compose.yml文件模板它包含了之前讨论的所有端口映射和数据卷挂载。将以下内容保存为docker-compose.yml文件例如放在D:\Docker\TDengine\目录下version: 3.8 services: tdengine: image: tdengine/tsdb:3.4.0.0 container_name: tdengine restart: unless-stopped ports: # 核心端口映射左侧宿主机端口可根据需要调整 - 6030:6030 # 客户端连接端口TCP - 6041:6041 # RESTful API 端口HTTP - 6043:6043 # taosAdapter 或其他组件TCP - 6044-6049:6044-6049 # 内部通信TCP - 6044-6045:6044-6045/udp # 内部通信UDP - 6060:6060 # taosExplorer 可视化界面HTTP environment: - TZAsia/Shanghai # 时区设置 volumes: # 数据目录持久化 - D:/Docker/TDengine/data:/var/lib/taos # 日志目录持久化 - D:/Docker/TDengine/log:/var/log/taos # 自定义配置文件必须提前创建好 taos.cfg - D:/Docker/TDengine/cfg/taos.cfg:/etc/taos/taos.cfg # 可选临时文件目录避免容器内 /tmp 空间不足生产环境需挂载 - D:/Docker/TDengine/tmp:/tmp # 资源限制根据实际情况取消注释并调整 # deploy: # resources: # limits: # memory: 4G # cpus: 2 # 健康检查判断服务是否就绪 healthcheck: test: [CMD, taos, -s, show databases] interval: 30s timeout: 10s retries: 3 start_period: 40s重要说明请提前在D:/Docker/TDengine/cfg/目录下创建taos.cfg文件内容见下一节。临时目录/tmp如果挂载到宿主机建议分配足够空间例如 10GB避免因临时数据撑满容器层。若宿主机端口被占用可修改左侧端口号例如6041:6041改为6042:6041客户端连接时需相应调整。实例如下5. 创建Docker 容器# 进入目录打开 PowerShell 或 CMD 或Docker命令行切换到 D:\Docker\TDengine 目录 cd D:\Docker\TDengine # 启动容器 docker-compose up -d # 查看容器状态 docker-compose ps # 查看日志 docker-compose logs -f # 停止容器加上 -v 会删除卷请谨慎使用 docker-compose down6. 注意事项⚠️路径格式Windows 路径在 YAML 中必须使用正斜杠/或双反斜杠\\。上述示例使用了正斜杠D:/Docker/TDengine/data这是兼容性最好的写法。配置文件如果你不需要自定义 TDengine 配置可以直接删除volumes中挂载taos.cfg的那一行。端口冲突确保6030、6041、6060等端口没有被宿主机上的其他程序占用。Docker Desktop 设置请确保 Docker Desktop 的Settings → Resources → File Sharing中已添加D:盘否则挂载会失败。防火墙如果需要从其他机器访问 TDengine记得在 Windows 防火墙中放行上述端口尤其是6030和6041。7.验证部署容器启动后你可以通过浏览器访问http://localhost:6060打开 taosExplorer 可视化界面默认用户名/密码为root/taosdata。也可以通过以下命令测试 RESTful APIcurl -u root:taosdata -d show databases 127.0.0.1:6041/rest/sql如果返回数据库列表说明一切正常。密码修改通过 taos 命令行修改推荐进入 TDengine 容器如果你是用 Docker 运行的docker exec -it tdengine bash启动 taos 客户端taos执行修改密码的 SQL 命令在taos提示符下输入ALTER USER root PASS your_new_password;将your_new_password替换为你想要设置的新密码。密码需要符合复杂度要求通常长度至少 8 位包含字母和数字。退出客户端QUIT;测试新密码下次连接时需要使用新密码taos -u root -p your_new_password
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2426044.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!