Resolução de problemas
Esta página lista problemas comuns que podem ocorrer durante a execução do Milvus, bem como possíveis dicas de solução de problemas. Os problemas nesta página se enquadram nas seguintes categorias:
- Problemas de inicialização
- Problemas de tempo de execução
- Problemas de API
- Problemas de falha do etcd
Problemas de inicialização
Os erros de arranque são normalmente fatais. Execute o seguinte comando para ver os detalhes do erro:
$ docker logs <your milvus container id>
Problemas de tempo de execução
Os erros que ocorrem durante o tempo de execução podem causar a interrupção do serviço. Para resolver este problema, verifique a compatibilidade entre o servidor e o cliente antes de avançar.
Problemas de API
Estes problemas ocorrem durante as chamadas de métodos API entre o servidor Milvus e o seu cliente. Serão devolvidos ao cliente de forma síncrona ou assíncrona.
Problemas de falha do etcd
1. pod do etcd pendente
O cluster do etcd usa pvc por padrão. O StorageClass precisa de ser pré-configurado para o cluster Kubernetes.
2. falha do pod do etcd
Quando um pod do etcd falha com Error: bad member ID arg (strconv.ParseUint: parsing "": invalid syntax), expecting ID in Hex
, pode iniciar sessão nesse pod e eliminar o ficheiro /bitnami/etcd/data/member_id
.
3. Vários pods continuam a falhar enquanto etcd-0
ainda está em execução
Você pode executar o seguinte código se vários pods continuarem a falhar enquanto etcd-0
ainda estiver em execução.
kubectl scale sts <etcd-sts> --replicas=1
# delete the pvc for etcd-1 and etcd-2
kubectl scale sts <etcd-sts> --replicas=3
4. Todos os pods falham
Quando todos os pods falharem, tente copiar o ficheiro /bitnami/etcd/data/member/snap/db
. Utilize https://github.com/etcd-io/bbolt
para modificar os dados da base de dados.
Todos os metadados do Milvus são mantidos no bucket key
. Faça o backup dos dados neste bucket e execute os seguintes comandos. Note que os dados do prefixo no ficheiro by-dev/meta/session
não requerem uma cópia de segurança.
kubectl kubectl scale sts <etcd-sts> --replicas=0
# delete the pvc for etcd-0, etcd-1, etcd-2
kubectl kubectl scale sts <etcd-sts> --replicas=1
# restore the backup data
Se precisar de ajuda para resolver um problema, sinta-se à vontade:
- Juntar-se ao nosso canal Slack e obter apoio da equipa Milvus.
- Arquivar um problema no GitHub que inclua detalhes sobre o seu problema.