杂记 | 在Linux上使用Docker-compose安装单机版Milvus向量数据库并配置访问控制和可视化面板(Attu)

文章目录

  • 01 Milvus向量数据库简介
  • 02 安装前的准备
  • 03 安装
    • 3.1 创建milvus工作目录
    • 3.2 下载并编辑docker-compose.yml
    • 3.3 下载milvus.yml文件
    • 3.4 启动milvus
  • 04 访问可视化面板并修改密码


01 Milvus向量数据库简介

Milvus是一款开源的向量数据库,它专为AI应用设计,用于管理和检索海量的特征向量。Milvus的优势主要包括:

  1. 高效的向量检索性能:Milvus采用了多种先进的索引算法,如IVF, HNSW, ANNOY等,能够在大规模数据集上实现高效的近似最近邻搜索。

  2. 易于扩展和维护:Milvus支持水平和垂直扩展,能够适应不断增长的数据规模和查询需求。它的分布式架构使得数据存储和计算能力可以灵活扩展。

  3. 多种数据持久化选项:Milvus支持SSD, HDD等多种存储介质,并且可以与多种持久化存储解决方案集成,如MinIO, S3等。

  4. 丰富的数据接口:Milvus提供了Python, Java, RESTful等多种语言的SDK,方便开发者在不同的应用场景中使用。

  5. 强大的可扩展性和兼容性:支持各种大小和类型的向量数据,可以与现有的数据处理和机器学习工作流程无缝集成。

  6. 容器化和云原生支持:支持Docker和Kubernetes,方便在云环境中部署和管理。

  7. 开源社区支持:作为一个开源项目,Milvus拥有活跃的社区,不断有新的功能和改进被加入。

Milvus适用于各种需要高效向量检索的应用场景,如推荐系统、图像检索、自然语言处理等。由于其高效、易用和可扩展的特性,Milvus在AI应用开发中越来越受欢迎。

02 安装前的准备

确保已经安装了docker和docker-compose
要求系统至少有8G的内存(但我实际是4G内存也没有任何问题)
参考官方文档的信息:https://milvus.io/docs/prerequisite-docker.md

03 安装

3.1 创建milvus工作目录

下面正式开始安装,在Linux系统上新建一个工作目录,以root目录为例:

# 切换到root目录
cd /root# 新建一个名为milvus的目录用于存放数据 目录名称可以自定义
mkdir milvus# 进入到新建的目录
cd milvus

3.2 下载并编辑docker-compose.yml

在下载最新的docker-compose.yml文件前,可以先进入到Github项目主页查看最新版本的milvus:
https://github.com/milvus-io/milvus/releases
在这里插入图片描述
下载安装文件,注意这里的路径版本是v2.3.5,根据自己实际情况选择CPU和GPU版本,不清楚的话就选CPU版本。

# CPU单机版
wget https://github.com/milvus-io/milvus/releases/download/v2.3.5/milvus-standalone-docker-compose.yml -O docker-compose.yml
# GPU单机版
wget https://github.com/milvus-io/milvus/releases/download/v2.3.5/milvus-standalone-docker-compose-gpu.yml -O docker-compose.yml

GPU版本还后续操作还需参考官方文档:https://milvus.io/docs/install_standalone-gpu-docker.md

下载完成后编辑docker-compose.yml文件,在其中添加attu可视化面板的容器
attu的最新版本参阅官方release页面:https://github.com/zilliztech/attu/releases
在这里插入图片描述

version: '3'services:etcd:...(略)minio:...(略)standalone:...(略)# 在原docker-compose文件的这个位置添加下面这个attu容器,注意版本号和行前空格。attu:container_name: attuimage: zilliz/attu:v2.3.6environment:MILVUS_URL: milvus-standalone:19530ports:- "8000:3000"  # 外部端口8000可以自定义depends_on:- "standalone"# network这部分是原文件就有的,保持不动
networks:default:name: milvus

3.3 下载milvus.yml文件

该文件是milvus的配置文件,容器中内置,但如果要修改配置,需要单独下载,这里为了做访问控制,就需要修改配置。

wget https://raw.githubusercontent.com/milvus-io/milvus/v2.3.5/configs/milvus.yaml

下载好后,确保该文件位于milvus工作目录下,然后编辑该文件,找到其中的common > security > authorizationEnabled并将其设置为true
在这里插入图片描述
下载后,修改docker-compose.yml做资源映射,在图中的位置:
在这里插入图片描述

...standalone:container_name: milvus-standaloneimage: milvusdb/milvus:v2.3.5...(略)volumes:- ${DOCKER_VOLUME_DIRECTORY:-.}/volumes/milvus:/var/lib/milvus# 新增下面这一行来实现配置文件的映射- ${DOCKER_VOLUME_DIRECTORY:-.}/milvus.yaml:/milvus/configs/milvus.yaml...(略)
...

3.4 启动milvus

# 拉取镜像
docker-compose pull# 启动容器
docker-compose up -d# 查看启动状态(健康状态)
docker-compose up -d# 停止容器
docker-compose down

放开端口
连接数据库需要放开19530端口,这是milvus的默认端口,可在docker-compose.yml中修改。
访问可视化面板放开8000端口(刚在自己设置的)做反向代理的额话可以不用放开此端口。

04 访问可视化面板并修改密码

访问http://ip:8000,初始账号密码如下图:
在这里插入图片描述
进入后修改账号和密码:
在这里插入图片描述
(完)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/415141.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

jetlinks 规则编排中的函数节点使用 js 脚本格式化输出当前系统时间的坑

网上搜到的都是类似如下这种: // 获取当前时间 var date new Date();// 格式化输出当前时间 var year date.getFullYear(); var month date.getMonth(); var day date.getDate(); var hour date.getHours(); var minute date.getMinutes(); var second date.…

智能化未来:NFC技术助力数字化社区

引言 数字化转型深刻改变着社区管理的方式,其中NFC技术作为一种近场通讯技术,正在为数字社区的智能化未来提供强有力的支持。 NFC技术简介 近场通讯技术(NFC)是一种无线通信技术,能够实现设备之间的近距离通讯。在数字社区建设中&#xf…

JS-元素尺寸与位置

通过js的方式,得到元素在页面中的位置 获取宽高 元素.offsetWidth 元素.offsetHeight 1)获取元素的自身宽高、包括元素自身设置的宽高paddingborder 2)获取出来的是数值,方便计算 3)注意:获取的是可视…

30分钟带你深入优化安卓Bitmap大图

30分钟带你源码深入了解Bitmap以及优化安卓大图 一、前言二、Bitmap入门1. 如何创建Bitmap?2. Bitmap的堆内存分布在哪里3. 图片文件越大,Bitmap堆内存会越大吗?4. 如何管理Bitmap的内存?5. 实战修改Bitmap的堆内存,改变图片的图…

Linux Shell脚本入门

目录 介绍 编写格式与执行方式 Shell脚本文件编写规范 脚本文件后缀名规范 首行格式规范 注释格式 shell脚本HelloWord入门案例 需求 效果 实现步骤 脚本文件的常用执行三种方式 介绍 3种方式的区别 小结 多命令处理 Shell变量 环境变量 目标 Shell变量的介绍 变量类型 系统环境…

安全帽识别-赋能深圳自贸中心智慧工地

在当今的建筑行业中,安全管理一直是一个至关重要的议题。深圳自贸中心项目在这方面进行了一次有益的尝试——实施智慧工地安全帽识别系统。本文将对这一创新举措进行简要介绍。 项目背景 深圳自贸中心,作为一项标志性建设项目,承载着城市发展…

C语言——大头记单词

归纳编程学习的感悟, 记录奋斗路上的点滴, 希望能帮到一样刻苦的你! 如有不足欢迎指正! 共同学习交流! 🌎欢迎各位→点赞 👍 收藏⭐ 留言​📝 每一发奋努力的背后,必有加…

服务器数据恢复—异常关机导致Linux服务器目录项被破坏数据恢复案例

服务器数据恢复环境: 某品牌PowerEdge R730服务器PowerVault MD3200存储,划分若干lun,操作系统版本是centos7,EXT4文件系统。 服务器故障&分析: 服务器在运行过程中自动关机且无法启动,服务器管理员对服…

C语言——atoi函数解析

目录 前言 atoi函数的介绍 atoi函数的使用 atoi函数的模拟实现 前言 对于atoi函数大家可能会有些陌生&#xff0c;不过当你选择并阅读到这里时&#xff0c;请往下阅读&#xff0c;我相信你能对atoi函数熟悉该函数的头文件为<stdlib.h> 或 <cstdlib> atoi函数的…

Python学习从0到1 day6 python基础语法4 标识符、运算符和字符串

苦厄难夺凌云志&#xff0c;不死终有出头日 ——24.1.18 一、标识符 1.什么是标识符 标识符&#xff1a;用户在编程的时候所使用的一系列名字&#xff0c;用于给变量、类、方法等命名 2.标识符命名规则 python中&#xff0c;标识符命名规则主要有三类&#xff1a; ①内容限定 …

详细推导BEC和BSC的信道容量

目录 介绍 一. 熵的计算公式 二. 互信息 三. 计算BSC的信道容量 四. BEC信道与高斯信道容量 五. 信道传输速率与信道容量 小结 介绍 binary symmetric channel&#xff0c;简称BSC&#xff0c;中文翻译为二进制对称信道。 binary erasure channel&#xff0c;简称BEC&…

C++ 设计模式之策略模式

【声明】本题目来源于卡码网&#xff08;题目页面 (kamacoder.com)&#xff09; 【提示&#xff1a;如果不想看文字介绍&#xff0c;可以直接跳转到C编码部分】 【设计模式大纲】 【简介】什么是策略模式&#xff08;第14种模式&#xff09; 策略模式是⼀种⾏为型设计模式&…