nebula 版本:3.8.0社区版
部署方式:集群
安装方式:RPM
是否上生产环境: N
硬件信息
磁盘 单机 HDD 300G
内存 单机 64G
问题的具体描述
按照官方文档配置的5节点的集群,配置也是使用的文档中推荐的配置,一直稳定运行了近一年。今天在进行大批量导入数据的时候,中途报错。查看集群进程,其中一个节点storaged进程挂掉,多次尝试启动都失败了,报错信息:
Log line format: [IWEF]yyyymmdd hh:mm:ss.uuuuuu threadid file:line] msg
E20250910 11:23:33.860966 2106629 MetaClient.cpp:2016] Space 155865 not found!
E20250910 11:23:33.861147 2106629 MetaClient.cpp:2016] Space 155865 not found!
E20250910 11:23:34.389694 2106634 MetaClient.cpp:2016] Space 155871 not found!
E20250910 11:23:34.389715 2106634 MetaClient.cpp:2016] Space 155871 not found!
E20250910 11:23:35.003371 2106627 MetaClient.cpp:2016] Space 155867 not found!
E20250910 11:23:35.003396 2106627 MetaClient.cpp:2016] Space 155867 not found!
E20250910 11:23:35.081882 2106633 MetaClient.cpp:2016] Space 155866 not found!
E20250910 11:23:35.081902 2106633 MetaClient.cpp:2016] Space 155866 not found!
F20250910 11:23:43.175096 2106592 WalFileIterator.cpp:206] Check failed: pread(fds_.front(), &(currLog_[0]), currMsgLen_, currPos_ + sizeof(LogID) + sizeof(TermID) + sizeof(int32_t) + sizeof(ClusterID)) == static_cast<ssize_t>(currMsgLen_) (94830564 vs. 1440341067) Failed to read. Curr position is 0, expected read length is 1440341067 (errno: 0): Success
麻烦大佬指点一下,万分感谢
space都是是三副本吗? 直接清空这个storaged的data吧,空节点启动,利用其他两副本数据重新生成一下.这个storaged的wal文件损坏了
1 个赞
设置的一副本,主要考虑数据导入的效率,看来是没有办法恢复了…
想问下如果设置3副本,对数据导入的效率、磁盘容量影响有多大,会是1副本的3倍吗?
另外如果设置了3副本,再遇到这样的问题,把问题节点的data清理然后重启服务,数据会自动恢复吗,需不需要人为做额外的操作?
3副本的情况下,只要metad数据没有损坏,直接清空坏节点的storaged.可以通过raft同步自动修复.大批量导入的话,要求性能最好直接SST insert方式导.导之前记得备份.你是啥导入方式?
1 个赞
您在NebulaGraph集群中遇到的问题,特别是在大批量导入数据时storaged进程挂掉的情况,可能是由于多种原因造成的。
- 检查Meta服务与存储服务的同步:
- 在Meta节点上执行以下命令来检查所有space的信息:
在nebula-console中执行:nebula-console -u user -p password --address=meta_server_address --port=meta_server_portSHOW SPACES; - 在每个存储节点上重复上述步骤,确保所有节点上的space信息一致。
- 在Meta节点上执行以下命令来检查所有space的信息:
- 检查WAL文件:
- 登录到存储节点,检查WAL文件的完整性。例如:
ls -l /path/to/nebula/wal_files - 如果怀疑WAL文件损坏,您可以尝试从最近的备份中恢复。
- 登录到存储节点,检查WAL文件的完整性。例如:
- 重启服务:
- 重启受影响的存储节点和Meta服务。例如:
systemctl restart nebula-storaged systemctl restart nebula-metad - 确保所有服务都成功启动,并且没有错误日志。
- 重启受影响的存储节点和Meta服务。例如:
- 检查硬件和文件系统:
- 使用以下命令检查磁盘健康状态:
smartctl -a /dev/sda - 检查文件系统是否有错误:
fsck -f /dev/sda1
- 使用以下命令检查磁盘健康状态:
- 查看更多日志信息:
- 检查Meta服务和存储节点的日志文件,可能会有更多关于问题的信息。例如:
cat /path/to/nebula/logs/nebula-metad.ERROR cat /path/to/nebula/logs/nebula-storaged.ERROR
- 检查Meta服务和存储节点的日志文件,可能会有更多关于问题的信息。例如:
数据量是单副本的 3 倍,导入影响还好,会慢一些。但我觉得对 NebulaGraph 来说,导入效率一般不是太大问题
此话题已在最后回复的 30 天后被自动关闭。不再允许新回复。