记录一次失败的Windows上milvus安装

milvus是一个向量近似搜索库,未来应该会在很多领域有大用途。最近一年才出的,所以想赶个时髦。

但是milvus跨平台不是像Java语言这种方式,而是通过docker安装的形式。没玩过docker,好吧,正好也试试吧。

在Windows上装docker,有两种选择:一个是官网推荐的docker for desktop,  适合win10 专业版 旗舰版 教育版。但家庭版不支持,另一个就是docker toolbox。很多win10 home, win7, win8的系统都可以用。 我是win10 home就只能用后者了

docker toolbox不难装,哪怕是反复卸载。我是在daocloud上找到19.03.1, 装好以后开始唯一一篇milvus在Windows安装的博客操作 https://www.cnblogs.com/SuperDun/p/12025155.html(链接失效看转载:https://blog.csdn.net/yangschfly/article/details/105292534

首先下载过程就很艰难,拉取半天,然后又尝试研究了一下换源,参考了https://www.cnblogs.com/wangwenhui/p/11808488.html 这篇博客,然后试了几个源,才弄好

下面开始是重要过程:

失败1

配置过程就有很多莫名其妙,比如命令上为什么好几个-v  端口有两个,看起来功能不一样 为什么也是用两个-p,等等..

不管了 照着命令试一下,发现报了个“Error response from daemon: invalid mode: /var/lib/milvus/conf”  意思应该是-v的参数不对,又或者是docker toolbox的命令不支持这种形式

好吧,直接去掉-v, 那启动参数应该也有默认的,至少默认路径应该是/var/lib/milvus/conf,于是我重新创建了这个目录,并且吧server_config.yaml 放进去,最开始我用的是https://github.com/milvus-io/docs 这里的配置文件,发现跟官网说法不一样,没错,这个配置是0.1版,官网的是0.5版

不管是哪个都一样,启动以后进程马上退出了,通过docker ps -a 命令可以查到, 通过日志看到是因为内存问题

Loading configuration from: /var/lib/milvus/conf/server_config.yaml
Config check fail: Invalid cpu cache size: 4GB. Possible reason: cache.cache_size exceeds system memory.                             
ERROR: Milvus server fail to load config file
Invalid cpu cache size: 4GB. Possible reason: cache.cache_size exceeds system memory. 
Milvus server exit...                                                     

问题1 : 里面的cache size我已经改了,在错误里还是一样的内存数值

问题2:  我的本本内存24G,为什么这里不够,docker启动用的是git.exe,这里有内存限制?

第一个问题完全不知道怎么解决,第二个问题我也尝试在注册表增加Cygwin内存限制方法也没成功

 

失败2

还是-v命令的问题, 之前失败1那个错误是命令问题,后来发现在Windows的docker里用的是cygwin命令形式, d:\milvus这种格式应该改成/d/milvus, 然后照着官网命令又试了一次,这回的启动命令是:

docker run -td --name mymilvus2 -p 19530:19530 -p 8080:8080 -v /d/milvus/db:/var/lib/milvus/db -v /d/milvus/conf:/var
/lib/milvus/conf  -v /d/milvus/logs:/var/lib/milvus/logs   -v /d/milvus/wal:/var/lib/milvus/wal  milvusdb/milvus:cpu-la
test

仍然启动失败,查看logs以后得到

Loading configuration from: /var/lib/milvus/conf/server_config.yaml
Config file not exist: /var/lib/milvus/conf/server_config.yaml
ERROR: Milvus server fail to load config file
Config file not exist: /var/lib/milvus/conf/server_config.yaml
Milvus server exit...

明明是有的啊,cat一下这个文件都有信息啊....实在不懂

失败3(终章)

针对失败1中的是内存不足的问题,后来碰巧找到virtualbox虚拟机状态发现 docker启动其实使用virtualbox虚拟出来的,于是在virtualbox配置一下内存使用就解决了。然后启动项去掉-v 就可以了,显示已经启动

Loading configuration from: /var/lib/milvus/conf/server_config.yaml
WARNNING: You are using SQLite as the meta data management, which can't be used in production. Please change it to MySQL!
Supported CPU instruction sets: avx2, sse4_2
FAISS hook AVX2
Milvus server started successfully!

docker ps 也能看到milvus启动了,PORTS状态显示  0.0.0.0:19530->19530/tcp    ,大喜,终于拨云见日!

然后安装pymilvus 用了官网example.py运行  显示连不上  0.0.0.0:19530, netstat看一下 没有见到这个端口。 这又是什么问题??进程有,但是连不上,等于没用,

而且因为docker启动的虚拟机网络配置是NAT, 换其他网络配置就启动不了docker terminal, 所以要在Windows的docker里用milvus, 就只能在纯docker terminal, 已经很难用了但如果这都连不上,这整个过程就等于彻底失败了。

所以看来要用milvus只能在纯Linux虚拟机环境里了

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值