Meu cluster riak tem 10 nós executando a versão 2.9.8. Todos os nós têm a mesma versão. O nó que nomeou [email protected] usou cerca de 95% do espaço do disco. E outros nós usaram menos de 50% do espaço do disco.
Tentei descobrir o erro de compactação de dados como diz esta postagem :
find . -name "LOG" -exec grep -l 'Compaction error' {} \;
./308285501624487334308589769401090949458673270784/LOG
./336830455478606531929755488790080852186328203264/LOG
./365375409332725729550921208179070754913983135744/LOG
./793549717144513693868406999013919295828807122944/LOG
As mensagens de erro nos logs de partição são como abaixo:
2024/05/25-16:30:51.332435 7f04c47f8700 Finalize level: 5, grooming 1
2024/05/25-16:30:51.332506 7f04c47f8700 Finalize level: 6, grooming 0
2024/05/25-16:30:51.332570 7f04c3ff7700 Compacting 1@6 + 0@7 files
2024/05/25-16:30:51.333295 7f04c3ff7700 compacted to: files[ 3 0 3 765 482 109 126 ]
2024/05/25-16:30:51.333312 7f04c3ff7700 Compaction error: IO error: /data/riak/leveldb/308285501624487334308589769401090949458673270784/sst_7/307388.sst: No such file or directory
2024/05/25-16:30:51.333319 7f04c3ff7700 Waiting after background compaction error: IO error: /data/riak/leveldb/308285501624487334308589769401090949458673270784/sst_7/307388.sst: No such file or directory
2024/05/25-16:30:52.334919 7f04c3ff7700 Finalize level: 5, grooming 1
2024/05/25-16:30:52.335003 7f04c3ff7700 Finalize level: 6, grooming 0
2024/05/25-16:30:52.335061 7f04c37f6700 Compacting 1@6 + 0@7 files
2024/05/25-16:30:52.335507 7f04c37f6700 compacted to: files[ 3 0 3 765 482 109 126 ]
2024/05/25-16:30:52.335522 7f04c37f6700 Compaction error: IO error: /data/riak/leveldb/308285501624487334308589769401090949458673270784/sst_7/307389.sst: No such file or directory
2024/05/25-16:30:52.335528 7f04c37f6700 Waiting after background compaction error: IO error: /data/riak/leveldb/308285501624487334308589769401090949458673270784/sst_7/307389.sst: No such file or directory
2024/05/25-16:30:53.337142 7f04c37f6700 Finalize level: 5, grooming 1
Todas as partições usaram cerca de 30 GB cada uma, exceto os nós que têm erros de compactação. Abaixo o tamanho dessas partições:
1.3T ../308285501624487334308589769401090949458673270784
67G ../336830455478606531929755488790080852186328203264
159G ../365375409332725729550921208179070754913983135744
577G ../793549717144513693868406999013919295828807122944
O disco continuou crescendo por causa desses erros de compactação? Após reparar essas partições/vnodes, o espaço será liberado? Se não, o que posso fazer?
Os erros de compactação alegam que o arquivo sst está faltando (no leveldb, vários pedaços de dados são salvos dentro de cada arquivo sst). Ter um arquivo faltando parece ser uma razão razoável para não ser possível compactar dados para lá.
Você tentou as instruções "reparando LevelDB corrompido" ?
Caso contrário, recomendo que você experimente estes.
Se você já tentou os reparos e não funcionou, eu tentaria reparar todas as partições listadas como corrompidas usando a seção "Reparando uma partição" .
Se isso não funcionar, sugiro parar o nó de destino, excluir todos os dados em cada subpasta da pasta leveldb, iniciar o nó novamente e executar um reparo de todas as partições .
Por fim, se isso falhar, pare o nó problemático e faça uma
force-remove
limpeza. Após a conclusão, limpe o nó problemático e faça uma reinstalação completa. Após o nó ter sido reinstalado, você pode adicioná-lo novamente ao cluster.