TDengine 服务无法启动常见原因

taosd 是 TDengine 的核心服务进程,如果无法启动将导致整个数据库无法使用,了解常导致无法启动的原因,可以帮你快速解决问题。

1. 如何查找日志

无法启动的原因记录在日志中,日志文件默认在 /var/log/taos 的 taosdlog.0 或者 tasdlog.1 文件,当前使用的是哪个看最后修改日期。

通常查看日志结尾为 ERROR 类日志即可快速查找出错误原因,可以使用以下脚本快速查找:

tail -n 1000 /var/log/taos/taosdlog.0 | grep ERROR

2. 常见原因

2.1 配置文件不正确

1. FQDN 不正确

现象:

示例在 taos.cfg 中的 fqdn 配置为一个不合法的名称: abcdef,启动 taosd 会失败,报如下错:

解决方法:

配置正确的 FQDN, 正确的 FQDN 必须是能 ping 通并显示的是预期 IP 地址。

配置 fqdn 在 linux 是在 /etc/hosts 中。

注意:

taos.cfg 中的 FQDN 只在 taosd 服务第一次启动时读取使用,启动成功后会保存 dataDir 指向的数据存储目录下的 dnode/dnode.json 文件中,下次再启动不再使用 taos.cfg 配置文件中,而会直接使用 dnode.json 中保存的 FQDN。

如果 dnode.json 已创建,若要修改 FQDN,需要 taos.cfg 及 dnode.json 两处都修改方可生效。

2. serverPort 不正确

示例在 taos.cfg 中的 serverPort 配置为一个超出范围的不合法端口:65539,启动 taosd 会失败,报如下错:

解决方法:

确保 serverPort 端口在指定范围内并且不被其它程序占用。

注意:

serverPort 端口修改同上面 FQDN 相同

3. dataDir 配置

dataDir 是配置数据库的存储目录,目录无访问权限或不可写会导致服务启动失败。

2.2 WAL 损坏

WAL 文件在数据写入过程中使用频繁,当突然断电再重启后最容易出现 WAL 损坏的现象。

现象:

解决方法:

把日志中提示损坏的 WAL 文件移出当前目录并备份到一个安全的地方,重新启动 taosd 即可。

WAL 中记录着已落或未落盘的数据,移除 WAL 后可能会导致部分数据丢失。

如果数据非常重要,联系涛思数据技术人员尝试修复损坏的 WAL 文件,但数据不一定能修复回来。

2.3 数据版本不兼容,如降版本操作

版本升级,老版本数据可以在新版本中完全兼容,但新版本数据在老版本中有可能会无法识别,以下是降版本后导致的 taosd 无法启动的现象:

现象:

上面的报错仅是其中一种,数据不兼容可能会报各种错误,识别的方式即看是否有降版本操作。

解决方法:

卸载老版本,再安装回原来版本即可。

2.4 端口被占用

taosd 启动过程中,taos.cfg 中的 serverPort 端口被其它程序占用后,会导致启动失败。

现象:

如下是指定的 serverPort 为 9100 的端口被其它应用占用:

解决方法:

更换其它未使用的端口或停止占用端口的应用均可解决

2.5 dataDir 损坏

在突然断电或关机的情况下,可能会导致正在写入数据损坏,再启动 taosd 服务时,会遇到无法启动的现象

现象:

以下示例是数据文件 v2f1736ver3.data 丢失,导致 taosd 无法启动

解决方法:

如果数据非常重要,联系涛思数据技术人员尝试修复损坏的文件。

如果只是测试数据,仅想把 taosd 启动起来,可以根据报错的文件,删除报错文件所在 vnode 目录下的 tsdb 目录即可。如上例中,删除 /var/lib/taos/vnode/vnode2/tsdb 目录,即可重新启动 taosd。

2.6 磁盘空间不足

TDengine 当存放数据磁盘空间小于 2G 时,会拒绝写入请求并告警磁盘空间不足,此时 taosd 服务仍然可以正常启动和工作,当磁盘空间继续减小,全部被占满后,taosd 服务将无法再启动。

现象:

解决方法:

清理出磁盘空间或增加磁盘

2.7 已有实例运行

taosd 服务是单进程工作模式,一台机器上只允许运行一个实例,如果前面已有实例在运行,再启动新实例会报启动失败错误,提示日志为尝试多次锁定 .running 失败,如下:

现象:

解决方法:

ps aux | grep taosd 查看具体占用实例进程,KILLL 后再启动即可

2.8 正在数据同步

启动 taosd 后,日志长时间显示进行 restore ,无法进入服务状态。

这个现象一般出现在集群中,当集群中某个节点上的 taosd 服务停止了一段时间,集群正在大量写入数据中,再启动已停止的节点时会出现此现象。

原因是在做数据同步,停止节点上的数据和正在运行集群中的数据有了一段差距,需要更新到与集群数据相同才可接入集群。

当需要同步数据比较多时,启动时间就会比较长,日志如下:

现象:

解决方法:

  1. 等待,等到与集群数据同步后即会进入服务状态

  2. 如果集群仍在大量数据写入,可以暂停集群数据写入,让落后节点尽快赶上来,再启动集群数据写入。

2.9不支持的平台

TDengine 服务端支持平台列表如下, 非列表中的平台,服务启动会报 0x8000013A 错误,表示不支持此平台。


版本
X64 64bitARM64
CentOS7.9 以上
Ubuntu18 以上
RedHatRHEL 7 以上
Debian6.0 以上
FreeBSD12 以上
OpenSUSE全部版本
SUSE Linux11 以上
Fedora21 以上
Windows Server2016 以上●/E
Windows10月11日●/E
银河麒麟V10 以上●/E●/E
中标麒麟V7.0 以上●/E●/E
统信 UOSV20 以上●/E
凝思磐石V8.0 以上●/E
华为欧拉 openEulerV20.03 以上●/E
龙蜥 Anolis OSV8.6 以上●/E
macOS11.0 以上

注:

1) ● 表示经过官方测试验证, ○ 表示非官方测试验证,E 表示仅企业版支持。

2) 社区版仅支持主流操作系统的较新版本,包括 Ubuntu 18+/CentOS 7+/CentOS Stream/RedHat/Debian/CoreOS/FreeBSD/OpenSUSE/SUSE Linux/Fedora/macOS 等。

访问官网

更多内容欢迎访问  TDengine 官网

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/983583.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

一周学会Flask3 Python Web开发-SQLAlchemy连接Mysql数据库

锋哥原创的Flask3 Python Web开发 Flask3视频教程: 2025版 Flask3 Python web开发 视频教程(无废话版) 玩命更新中~_哔哩哔哩_bilibili app.py下,我们先配置数据库连接,然后写一个简单sql测试。 连接配置,包括用户名&#xff…

【NLP 32、文本匹配任务 —— 深度学习】

大劫大难以后,人不该失去锐气,不该失去热度,你镇定了却依旧燃烧,你平静了却依旧浩荡,致那个从绝望中走出来的自己,共勉 —— 25.1.31 使用深度学习在文本匹配任务上主要有两种方式:① 表示型 ②…

打造智能聊天体验:前端集成 DeepSeek AI 助你快速上手

DeepSeek AI 聊天助手集成指南 先看完整效果: PixPin_2025-02-19_09-15-59 效果图: 目录 项目概述功能特点环境准备项目结构组件详解 ChatContainerChatInputMessageBubbleTypeWriter 核心代码示例使用指南常见问题 项目概述 基于 Vue 3 TypeScrip…

2008-2024年中国手机基站数据/中国移动通信基站数据

2008-2024年中国手机基站数据/中国移动通信基站数据 1、时间:2008-2024年 2、来源:OpenCelliD 3、指标:网络类型、网络代数、移动国家/地区、移动网络代码、区域代码、小区标识、单元标识、坐标经度、坐标纬度、覆盖范围、测量样本数、坐标…

开源订货系统哪个好 三大订货系统源码推荐

在数字化转型加速的今天,企业对订货系统的需求日益增长。一款优质的订货系统源码不仅能提升供应链效率,还能通过二次开发满足个性化业务需求。这里结合 “标准化、易扩展” 两大核心要求,为您精选三款主流订货系统源码,助您快速搭…

实现插入排序

#include <bits/stdc.h> using namespace std; int a[100005],n; void charu() {for(int i1;i<n;i){int keya[i]; //key表示要排序的数字的数值int ji-1; //j表示前面已排序好的数的个数while(j>0&&key<a[j]){a[j1]a[j]; //把a[j]往后挪j--;}a[j1]…

ROM修改进阶教程------修改安卓机型SELinux宽容的几种方式方法 以及第三方系统中如何关闭SELinux宽容

SELinux是一种强制访问控制安全机制,用于增强Linux系统的安全性。在某些情况下,可能需要对 SELinux 进行宽容设置,以满足特定的应用需求。当SELinux处于宽容模式时,系统允许违反安全策略的行为发生,但不会阻止这些行为,通常会在日志中记录这些违规事件。这与强制模式不同…

MySQL索引数据结构

目录 1 索引常用的数据结构 1.1 二叉树 1.2 平衡二叉树 1.3 红黑树 1.3 Hash表 1.4 B树 1.4 B树 2 MySQL索引的数据结构 2.1 MyISAM存储引擎索引 2.2 InnoDB存储引擎索引 2.2.1 聚集索引 2.2.2 非聚集索引 2.2.3 联合索引数 2.2.4 hash索引 1 索引常用的数据结构 1.1 二叉树 二…

分布式锁—7.Curator的分布式锁一

大纲 1.Curator的可重入锁的源码 2.Curator的非可重入锁的源码 3.Curator的可重入读写锁的源码 4.Curator的MultiLock源码 5.Curator的Semaphore源码 1.Curator的可重入锁的源码 (1)InterProcessMutex获取分布式锁 (2)InterProcessMutex的初始化 (3)InterProcessMutex.…

【高级篇】大疆Pocket 3加ENC编码器实现无线RTMP转HDMI进导播台

【高级篇】大疆Pocket 3加ENC编码器实现无线RTMP转HDMI进导播台 文章目录 准备工作连接设备RTMP概念ENCSHV2推流地址设置大疆Pocket 3直播设置总结 老铁们好&#xff01; 很久没写软文了&#xff0c;今天给大家带了一个干货&#xff0c;如上图&#xff0c;大疆Pocket 3加ENC编…

VS Code连接服务器教程

VS Code是什么 VS Code&#xff08;全称 Visual Studio Code&#xff09;是一款由微软推出的免费、开源、跨平台的代码编辑神器。VS Code 支持 所有主流操作系统&#xff0c;拥有强大的功能和灵活的扩展性。 官网&#xff1a;https://code.visualstudio.com/插件市场&#xff1…

Ubuntu-docker安装mysql

只记录执行步骤。 1 手动下载myql镜像&#xff08;拉去华为云镜像&#xff09; docker pull swr.cn-east-3.myhuaweicloud.com/library/mysql:latest配置并启动mysql 在opt下创建文件夹 命令&#xff1a;cd /opt/ 命令&#xff1a;mkdir mysql_docker 命令&#xff1a;cd m…

【MySQL】事务|概念|如何回滚|基本特性|MySQL事务隔离性具体怎么实现的

目录 1.为啥引入 2.是啥 3.如何回滚&#xff08;日志&#xff09; &#x1f525;4.面试题&#xff1a;谈谈事务的基本特性 &#xff08;1&#xff09;原子性 &#xff08;2&#xff09;一致性&#xff08;收入和支出相匹配&#xff09; &#xff08;3&#xff09;持久性…

C语言中的选择结构:决策的艺术

目录 一、选择结构的概念与意义 二、if语句 1. 基本语法 2. 示例代码 三、if-else语句 1. 基本语法 2. 示例代码 3. 嵌套if-else语句 四、switch语句 1. 基本语法 2. 示例代码 五、选择结构的注意事项 1. 条件表达式的正确性 2. if-else语句的配对问题 3. switch…

【0013】Python数据类型-列表类型详解

如果你觉得我的文章写的不错&#xff0c;请关注我哟&#xff0c;请点赞、评论&#xff0c;收藏此文章&#xff0c;谢谢&#xff01; 本文内容体系结构如下&#xff1a; Python列表&#xff0c;作为编程中的基础数据结构&#xff0c;扮演着至关重要的角色。它不仅能够存储一系…

SwanLab简明教程:从萌新到高手

目录 1. 什么是SwanLab&#xff1f; 1.1 核心特性 2. 安装SwanLab 3. 登录SwanLab账号&#xff08;云端版&#xff09; 4. 5分钟快速上手 更多案例 5. SwanLab功能组件 5.1 图表视图 5.2 表格视图 5.3 硬件监控 5.4 环境记录 5.5 组织协同 6. 训练框架集成 6.1 基…

TCP7680端口是什么服务

WAF上看到有好多tcp7680端口的访问信息 于是上网搜索了一下&#xff0c;确认TCP7680端口是Windows系统更新“传递优化”功能的服务端口&#xff0c;个人理解应该是Windows利用这个TCP7680端口&#xff0c;直接从内网已经具备更新包的主机上共享下载该升级包&#xff0c;无需从微…

【SegRNN 源码理解】【今天不水文系列】编码器部分理解

我来小小的理解一下&#xff1a; 首先&#xff0c;16 batchsize&#xff0c;60sequendcelength&#xff0c;7 个特征的通俗解释 16 个独立的样本&#xff0c;每个样本有 60 个连续的时间步及对应的标签值&#xff0c;每个时间步有 60 个特征 所以就是因为样本是随机从训练集…

【CUDA】Reduce归约求和(下)

目录 前言1. 优化技巧4&#xff1a;展开最后一个warp减少同步2. 优化技巧5&#xff1a;完全展开循环3. 优化技巧6&#xff1a;调节GridSize和BlockSize4. 优化技巧7&#xff1a;使用shuffle指令5. 拓展—CUDA工具链的使用结语下载链接参考 前言 学习 UP 主 比飞鸟贵重的多_HKL …

IDE集成开发环境MyEclipse中安装SVN

打开Myeclipse的help菜单----install from site 点击add弹出对话框 在输入框中输入对应内容 http://subclipse.tigris.org/update_1.10.x 点击OK之后&#xff0c;会刷新出两个选项&#xff0c;需要选中的 点击next&#xff0c;出现许可的时候选中同意&#xff0c;一直结束等…