搭建了一个 milvus 集群,三节点,怎么搭建的,参考:运行 milvus 集群的,部署多节点的 querynode 加速查询
然后突然整个程序卡主了
分析排查了一下,发现是调用 milvus 读写的时候卡住了
而且一直卡住
可恶!!!
然后看了一下日志
发现是 rootcoord 连接 pulsar 的时候有问题
milvus 集群遇到 Cannot create producer on topic with backlog quota exceeded
[36msvddb-cluster-milvus-rootcoord |[0m time="2023-08-07T09:57:17Z" level=error msg="[Failed to create producer]" error="server error: ProducerBlockedQuotaExceededError: Cannot create producer on topic with backlog quota exceeded" producerID=1 producer_name=standalone-0-0 topic="persistent://public/default/by-dev-rootcoord-dml_0"
怎么解决的呢?
我先 docker restart pulsar
,但是没用
然后 docker restart svddb-cluster-milvus-rootcoord
,但是也没用
最后,我只能彻底删除 pulsar,然后重启
docker stop pulsar
docker rm pulsar
rm -rf volumes/pulsar/
docker-compose up -d
至于具体原因,我没有深入调查
出问题的时候,我只一边查询,一边插入
我大概插入了 1200w 向量
至于为什么 pulsar 出问题,会导致查询也查询不了?
因为从 milvus 架构中可以看出,querynode 的查询任务,也是从 pulsar 获取的