暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

技术分享|在 Windows 上运行 Milvus 2.0

ZILLIZ 2021-10-20
2548

编者按: 

嵇斌是紫光华智系统工程师,毕业于南京邮电学院,目前负责 Unisinsight 云原生和人工智能相关的软件预研工作。在此之前曾在 Nokia 从事 5G 和云相关的软件开发,热衷跟踪参与开源软件。平时兴趣广泛,喜好研究咖啡、饮茶以及做菜。 

本文转载自嵇斌的公众号「代码备忘录」。如果你想在 Windows 上运行 Milvus 2.0,欢迎参考这篇文章。

在 Windows 上运行 Milvus 2.0

  简述
最近,一直在断断续续地尝试把 Milvus 2.0 Porting 到 Windows 上,目前基本上已经可以以 Standalone 模式运行了。
目前,将支持 Windows 运行的这部分改动合并到主线,看起来可能会是一个漫长的过程,所以想写一篇笔记记录一下。如果你想要从 Windows 开始熟悉 Milvus 2.0,或者因为环境的限制,需要在纯粹的 Windows 上运行 Milvus 的话,那么本文将是一个不错的参考。 
  获取 Windows 上的 Milvus 2.0
目前,可以有两种方式来获取。
第一种是从源代码编译,你可以从下面这个个人仓库/分支来获取代码完成编译:matrixji/milvus at windows-dev[1]
第二种方式就是直接下载已经编译好的二进制包了,从下面的Release页面可以找到:Releases - matrixji/milvus[2]

从源码编译的步骤

1. 安装 MSYS

目前使用 MinGW64/MSYS 作为工具链来完成 Milvus 2.0 在 Windows 上的编译,你可以在 MSYS2[3] 的官网下载并安装。
安装完 MSYS 之后,接下来所有的编译步骤,你都需要在 MSYS2 MinGW 64-bit 的 Shell 中完成。
首次安装后,可以进行更新,并且安装 git 方便后面 clone 代码。
    $ pacman -Su
    $ pacman -S git

    2. Clone 代码

      $ git clone git@github.com:matrixji/milvus.git -b windows-dev
      当前,在非官方的仓库,使用 windows-dev
       这个分支来跟踪用来支持 Windows 上编译的更改。这个分支每周会从上游的主线分支 milvus-io/milvus[4] 进行 rebase。

      3. 编译并打包

      先安装需要的依赖和工具链:
        $ cd milvus
        $ scripts/install_deps_msys.sh
        注意:第一次安装依赖之后,需要重启一下 MinGW/MSYS 的 Shell,以确保一些工具的配置生效。
        接下来就可以编译和打包 Milvus 了:
          $ make
          $ sh scripts/package_windows.sh
          如果一切顺利的话,最后你能够在 windows_package
           的子目录里面找到一个 zip 包。里面包含了运行 milvus.exe 的所有的文件,同时包括 minio.exe 和 etcd.exe。
          注意:
          • 因为有一些第三方依赖存放在 GitHub 上,所以为了顺利编译,可能需要科学上网。

          • Milvus 2 是使用 golang 开发的,为了更好地下载第三方 modules,可能需要设置 goproxy,参考:goproxy.cn[5]

          直接下载编译好的二进制包

          如果不想自己编译,也可以从 Releases - matrixji/milvus[6] 下载已经编译好的二进制包。
          当前会使用 windows-test-
           作为 Release 的前缀,比如 windows-test-v8
           这样的版本,找到对应的 zip 包下载就可以了。

          1. 启动 Milvus

          把 zip 包解压后,你就能找到 milvus
           的目录,所有的内容都在里面了。启动步骤如下:

          • run_minio.bat
             双击/运行他将启动一个 minio 的默认配置的服务,他将使用 s3data
             这个子目录来存放数据。
          • run_etcd.bat
             将启动一个默认配置下的 etcd 的服务。
          • 上面两个服务都启动成功后,你现在就可以通过 run_milvus.bat
             来启动 milvus 了。

          2. 运行 hello_milvus.py 测试

          在 Windows 上成功启动 Milvus 之后,可以尝试使用 hello_milvus.py 来测试一下,可以参考下面的官方指导,这里就不赘述了。

          官方的 Hello Milvus:https://milvus.io/docs/v2.0.0/example_code.md

          因为 pymilvus 是一个纯 python 的库,所以可以方便地在 Windows 下运行起来。

            参考文献

          [1]
           matrixji/milvus at windows-dev: https://github.com/matrixji/milvus/tree/windows-dev
          [2]
           Releases - matrixji/milvus: https://github.com/matrixji/milvus/releases
          [3]
           MSYS2: https://www.msys2.org/
          [4]
           milvus-io/milvus: https://github.com/milvus-io/milvus
          [5]
           goproxy.cn: https://goproxy.cn
          [6]
           Releases - matrixji/milvus: https://github.com/matrixji/milvus/releases

          GitHub @Milvus-io|CSDN @Zilliz Planet|Bilibili @Zilliz-Planet
          Zilliz 以重新定义数据科学为愿景,致力于打造一家全球领先的开源技术创新公司,并通过开源和云原生解决方案为企业解锁非结构化数据的隐藏价值。
          Zilliz 构建了 Milvus 向量数据库,以加快下一代数据平台的发展。Milvus 数据库是 LF AI & Data 基金会的毕业项目,能够管理大量非结构化数据集,在新药发现、推荐系统、聊天机器人等方面具有广泛的应用。
          最后修改时间:2021-10-20 08:32:11
          文章转载自ZILLIZ,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

          评论