id: operational_faq.md

操作常见问题

安装 Milvus 时,从 Docker Hub 拉取镜像失败怎么办?

如果无法从 Docker Hub 拉取镜像,可以尝试添加其它的镜像源。

中国大陆用户可以在文件 /etc/docker/daemon.json 中的 registry-mirrors 组添加国内镜像源地址 "https://registry.docker-cn.com"

  1. {
  2. "registry-mirrors": ["https://registry.docker-cn.com"]
  3. }

Milvus 只能使用 Docker 部署吗?

使用 Docker 能高效部署 Milvus,但并不是唯一方式。Milvus 也支持从源码编译安装,但该方法仅支持 Ubuntu 系统(内核版本 18.04 或以上)和 CentOS 系统(内核版本 7 或以上)。详见 从源代码编译 Milvus

召回率主要受哪些因素影响?

召回率主要受索引类型和查询参数影响。

对于 FLAT 索引,Milvus 会在 collection 内做全量搜索,召回率为 100%。

对于 IVF 索引,nprobe 参数决定了搜索范围——nprobe 越大,搜索的数据比例越高,召回率也就越高,但查询性能会相应降低。

对于 HNSW 索引,ef 参数决定了导航图搜索的广度——ef 越大,图上扫描到的结点越多,召回率也就越高,但查询性能会相应降低。

详见 Milvus 索引类型

为什么配置文件更新后没有生效?

Milvus v2.0 暂不支持运行时动态修改配置文件。配置文件更新后,必须重启 Milvus Docker 让修改生效。

如何得知我的 Milvus 已经成功启动?

如果通过 Docker Compose 启动 Milvus 服务,可运行 docker ps 命令观察运行中的 Docker 容器数量,以此判断 Milvus 服务是否已经启动。

  • 对于单机版 Milvus ,应至少有三个 Docker 容器正在运行,其中一个是 Milvus 服务,其余两个是 etcd 管理和存储服务。详见 安装单机版 Milvus
  • 对于分布式 Milvus ,应至少有 12 个 Docker 容器正在运行,其中 9 个是 Milvus 服务,其余三个是基础服务。详见 安装分布式 Milvus

为什么日志文件时间与系统时间不一致?

日志文件时间与系统时间不一致通常是因为主机未使用 UTC 时间。

Docker 镜像内部的日志文件默认使用 UTC 时间。因此,如果主机未使用 UTC 时间,就会出现日志文件时间与系统时间不一致的情况。

如何确认我的 CPU 支持 Milvus?

{{fragments/cpu_support.md}} 详见 CPU 对 SIMD 指令集的支持

为什么 Milvus 在启动时返回 Illegal instruction

要保证 Milvus 的正常运行,你的 CPU 须支持以下至少一种 SIMD 指令集种:SSE4.2、AVX、AVX2 和 AVX512。如果 Milvus 在启动时返回 Illegal instruction,说明当前 CPU 不支持以上任何一种指令集。

详见 CPU 对 SIMD 指令集的支持

可以在 Windows 上安装 Milvus 吗?

可以。你可以通过源码编译或下载编译完成的二进制在 Windows 上安装 Milvus。

阅读 在 Windows 上运行 Milvus 2.0 学习如何在 Windows 上安装 Milvus。

在 Windows 安装 PyMilvus 报错,如何解决?

不建议在 Windows 安装 PyMilvus。如果必须在 Windows 安装 PyMilvus 且系统报错,你可以尝试在 Conda 环境下安装。阅读安装 SDK 了解如何安装 PyMilvus。

能否在内网离线环境中部署 Milvus 服务?

可以。你可以离线部署 Milvus 服务。阅读 离线安装 Milvus 了解如何在离线环境中部署 Milvus。

Milvus 日志打印在哪里?

Milvus 的日志默认输出在标准输出(standard output)和标准误差(standard error)流中,实际生产中建议用户重定向目录到持久卷已便于问题的排查。重定向日志需要修改 milvus.yaml中的 log.file.rootPath 参数配置。 如果你通过 milvus-helm chart 部署 Milvus,需要首先通过在安装时设定 --set log.persistence.enabled=true 以启用日志持久化。

Milvus 是否支持先建索引再插入数据?

支持。但我们推荐分批次插入数据,每次插入数据量不超过 256 MB,插入完成后统一创建索引。

仍有问题没有得到解答?

如果仍有其他问题,你可以: