最近需要用aarch64系统安装milvus,踩了很多坑,记录分享一下学习经验。
如果要使用源码编译安装,要解决很多依赖以及版本问题,很复杂,arm64经常编译报错,采用docker安装简单快捷。
1.拉取镜像
此处采用的dockerhub上aarch64-milvus2.0编译成的镜像安装
/r/hsyi177193/milvus-arm64
docker pull hsyi177193/milvus-arm64
直接进行下一步再拉取也可以
2.修改docker-compose文件
官网本身提供了docker-compose.yml一间搭建etcd,milvus,minio。由于要采用aarch64编译,使用的镜像不同,需要进行修改,以下是我改好的yml:
version: '3.5'services:etcd:container_name: milvus-etcdimage: quay.io/coreos/etcd:v3.5.0environment:- ETCD_AUTO_COMPACTION_MODE=revision- ETCD_AUTO_COMPACTION_RETENTION=1000- ETCD_QUOTA_BACKEND_BYTES=4294967296- ETCD_SNAPSHOT_COUNT=50000volumes:- ${DOCKER_VOLUME_DIRECTORY:-.}/volumes/etcd:/etcdcommand: etcd -advertise-client-urls=http://127.0.0.1:2379 -listen-client-urls http://0.0.0.0:2379 --data-dir /etcdminio:container_name: milvus-minioimage: minio/minio:RELEASE.-03-17T06-34-49Zenvironment:MINIO_ACCESS_KEY: minioadminMINIO_SECRET_KEY: minioadminports:- "9001:9001"volumes:- ${DOCKER_VOLUME_DIRECTORY:-.}/volumes/minio:/minio_datacommand: minio server /minio_data --console-address ":9001"healthcheck:test: ["CMD", "curl", "-f", "http://localhost:9000/minio/health/live"]interval: 30stimeout: 20sretries: 3standalone:container_name: milvus-arm64image: hsyi177193/milvus-arm64:v1command: /bin/bash -c "cd /data/milvus-2.0_aarch64 && sh scripts/start_standalone.sh"restart: on-failurecommand: ["sleep","infinity"]environment:ETCD_ENDPOINTS: etcd:2379MINIO_ADDRESS: minio:9000volumes:- ${DOCKER_VOLUME_DIRECTORY:-.}/volumes/milvus:/var/lib/milvusports:- "19530:19530"- "9091:9091"depends_on:- "etcd"- "minio"privileged: truenetworks:default:name: milvus
3.运行docker容器
执行以下命令启动容器
sudo docker-compose up -d
4.设置开机自启动
也可以在docker-compose里面添加restart:always,我本人是先启动了容器,发现没有设置开机自启动。
执行docker ps看一下容器id,执行命令:
docker update --restart=always 容器id
到这里milvus的三个容器应该正常启动运行,有问题请留言交流讨论