lucas
1
nebula2.5.0 submit job stats导致节点挂掉
一共三个节点 有个节点每次会挂掉
报错日志:
F0909 09:52:15.267738 23936 NebulaKeyUtils.h:262] rawKey.size() != expect size, rawKey.size() = 72, expect = 40, vIdLen = 32, rawkey hex format:
00000000 01 01 00 00 30 30 30 30 31 66 31 31 38 61 61 33 |…00001f118aa3|
00000010 37 39 63 36 63 65 38 38 64 64 37 34 62 66 32 63 |79c6ce88dd74bf2c|
00000020 35 61 38 32 00 00 00 00 00 00 00 00 00 00 00 00 |5a82…|
00000030 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |…|
00000040 00 00 00 00 15 00 00 00 |… |
而且目前发现所有compact job也都会失败 感觉底层数据出问题了
我用submit job 结果都是failed 和楼主这个有点像 请问是什么原因?
看了storaged的error配置 里面没有报错信息 请问这是为什么?
确认三个东西:
- desc下这个space
- 找一下这个space下有没有tagId为21的tag
- 有没有任何vId长度为64的space,以及create/drop space操作
仔细回忆下有没有啥操作,ingest/手动使用了rocksdb/等等之类的操作
lucas
5
-
ID | Name | Partition Number | Replica Factor | Charset | Collate | Vid Type | Atomic Edge | Group | Comment |
±—±---------------±-----------------±---------------±--------±-----------±-------------------±------------±----------±-----------+
| 53 | “risk_control” | 66 | 3 | “utf8” | “utf8_bin” | “FIXED_STRING(32)” | false | “default” | “风控图谱”
2.tagId怎么查看?
3、没有 目前只有这一个space
4、昨天使用sst的方式注入过
1 个赞
lucas
6
我想的是看怎么找到 有问题的tag 先把数据删掉 让集群正常起来
tagId可能现在没啥接口能看到了…
我猜测和昨天使用sst的方式注入过这个有很大关系…… 因为这个三副本 这个key不大可能只有一台机器写进去。
需要手动删掉rocksdb中的这个key (但是可能删掉这个还有别的)比较方便的方式是使用rocksdb的ldb工具
lucas
8
目前发现就是其中一个节点总是挂掉 我在想要不然把这个节点的数据删掉 重启之后其他节点的数据会自动往这个节点做副本吗
lucas
10
E0909 14:24:32.342136 102451 RaftPart.cpp:1118] [Port: 9780, Space: 53, Part: 62] Receive response about askForVote from “h30069”:9780, error code is E_TERM_OUT_OF_DATE
E0909 14:24:32.342186 102451 RaftPart.cpp:1118] [Port: 9780, Space: 53, Part: 62] Receive response about askForVote from “h30067”:9780, error code is E_TERM_OUT_OF_DATE
E0909 14:24:32.969492 102451 RaftPart.cpp:1118] [Port: 9780, Space: 53, Part: 62] Receive response about askForVote from “h30069”:9780, error code is E_TERM_OUT_OF_DATE
E0909 14:24:32.969542 102451 RaftPart.cpp:1118] [Port: 9780, Space: 53, Part: 62] Receive response about askForVote from “h30067”:9780, error code is E_TERM_OUT_OF_DATE
F0909 14:25:22.051698 102752 NebulaKeyUtils.h:262] rawKey.size() != expect size, rawKey.size() = 72, expect = 40, vIdLen = 32, rawkey hex format:
00000000 01 01 00 00 30 30 30 30 31 66 31 31 38 61 61 33 |…00001f118aa3|
00000010 37 39 63 36 63 65 38 38 64 64 37 34 62 66 32 63 |79c6ce88dd74bf2c|
00000020 35 61 38 32 00 00 00 00 00 00 00 00 00 00 00 00 |5a82…|
00000030 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |…|
00000040 00 00 00 00 15 00 00 00 |… |
我把昨天所有的使用sst写入的 tag 和边 都删了 还是不行
可以的 你停掉这个机器 然后把data_path直接删了 重启之后会去其他机器拉数据
lucas
13
唉 一言难尽 头皮发麻 我删了所有数据 还是没用 相当于已经没有顶点和边数据了 还是 报这个错。。
等等,不是说只有68那个机器报错吗?你是删的dataPath吗还是怎么删的,那个key就是ingest了一个错误长度的数据,导致一碰到这个key就会挂
lucas
15
不是 68的机器停掉 之后 重新stats 就会有别的机器 down掉 应该是所有节点都有问题数据
或者手动打开rocksdb,把这个space下所有长度不是40的tag都删掉 (tag数据第一个字节是0x01)
你下次ingest先找个其他space先试试…………