连接Milvus到Milvus云数据库失败,寻求技术协助
解决Milvus连接超时(code=2)问题
问题详情
遇到的错误:
pymilvus.exception.MilvusException: <MilvusException: (code = 2, message = Fail connecting to server on "URI" . Timout)>
连接代码:
def connect(): # 原代码存在语法错误,需补充括号 URI = os.getenv('URI') TOKEN = os.getenv('TOKEN') connections.connect(uri = URI, token = TOKEN, secure = True)
排查与解决步骤
验证环境变量与URI格式
确认URI环境变量已正确配置,格式需符合Milvus要求:GRPC协议为grpc://<host>:<port>(默认端口19530),HTTPS协议为https://<host>:<port>(默认端口19531)。可临时添加打印语句确认变量值:print("URI:", URI, "TOKEN:", TOKEN)同时检查
TOKEN是否为服务端生成的有效认证令牌。检查网络连通性
在客户端机器上使用工具测试端口连通性:telnet <milvus-host> <port> # 或 nc -zv <milvus-host> <port>若为云部署Milvus,需确认安全组/防火墙已开放对应端口,允许客户端IP访问。
延长连接超时时间
显式设置timeout参数延长连接等待时间:connections.connect(uri=URI, token=TOKEN, secure=True, timeout=30) # 单位:秒验证安全配置匹配
若启用secure=True,需确保服务端已开启TLS/SSL。使用自签名证书时,需通过cert_path参数指定证书文件路径:connections.connect(uri=URI, token=TOKEN, secure=True, cert_path="/path/to/cert.pem")确认服务端状态
检查Milvus服务端是否正常运行,查看服务日志排查是否存在资源耗尽、启动失败等异常情况。
内容的提问来源于stack exchange,提问作者Rajeeb Bhowmick
相关产品推荐
相关产品推荐

