杂记 | 在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.mzph.cn/news/634349.shtml

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

相关文章

Docker(三)使用 Docker 镜像:从仓库获取镜像;管理本地主机上的镜像;介绍镜像实现的基本原理

作者主页: 正函数的个人主页 文章收录专栏: Docker 欢迎大家点赞 👍 收藏 ⭐ 加关注哦! 使用 Docker 镜像 在之前的介绍中,我们知道镜像是 Docker 的三大组件之一。 Docker 运行容器前需要本地存在对应的镜像&#x…

IaC基础设施即代码:Terraform 使用 dynamic动态内联块 创建docker资源

目录 一、实验 1.环境 2.Terraform查看版本 3.Linux主机安装Docker 4.Terraform使用本地编译(In-house)的Providers 5.Docker-CE 开启远程API 6. Linux主机拉取镜像 7.Terraform 使用 dynamic动态内联块 创建资源 二、问题 1.Terraform 计划资源…

精品基于Uniapp+springboot校园学校趣事管理系统app

《[含文档PPT源码等]精品基于Uniappspringboot趣事管理系统app》该项目含有源码、文档、PPT、配套开发软件、软件安装教程、项目发布教程、包运行成功! 软件开发环境及开发工具: 开发语言:Java 后台框架:springboot、ssm 安卓…

Unity vs Godot :哪个游戏引擎更适合你?

Unity vs Godot :哪个游戏引擎更适合你? 游戏引擎的选择对开发过程和最终产品质量有着重大影响。近年来,Godot和Unity这两款引擎受到广泛关注。本文将从多个维度对两者进行比较,以期为开发者提供正确的选择建议。 Godot和Unity都有…

Backtrader 文档学习-Indicators混合时间框架

Backtrader 文档学习-Indicators混合时间周期 1.不同时间周期 如果数据源在Cerebro引擎中具有不同的时间范围和不同的长度,指示器将会终止。 比如:data0是日线,data1是月线 。 pivotpoint btind.PivotPoint(self.data1) sellsignal self…

IMDB电影评论的情感分析——paddle

项目地址:IMDB电影评论的情感分析 - 飞桨AI Studio星河社区 (baidu.com) 1. 实验介绍 1.1 实验目的 理解并掌握循环神经网络的基础知识点,包括模型的时序结构、模型的前向传播、反向传播等掌握长短时记忆网络LSTM和门控循环单元网络GRU的设计原理熟悉如…

Halcon基于形变的模板匹配

Halcon基于形变的模板匹配 形变分为两种,一种是基于目标局部的形变,另一种是由于透视关系而产生的形变。基于形变的模板匹配也是一种基于形状的匹配方法,但不同的是,其返回结果中不仅包括轻微形变的形状.形变的位置和参数&#x…

Node.js基础知识点(五)- http

一.request 请求事件处理函数 var http require(http)var server http.createServer() request 请求事件处理函数,需要接收两个参数: Request 请求对象 请求对象可以用来获取客户端的一些请求信息,例如请求路径 Response 响应对象 响应对…

神器yakit之web fuzzer功能

前言 yakit并不像burp一样单独设置爆破模块,但是yakit也是可以爆破的,并且更好用(个人感觉)。 手工测试场景中需要渗透人员对报文进行反复的发送畸形或者特定的payload进行查看服务器的反馈并以此来进行下一步的判断。 Fuzz标签便…

Verilog基础:强度建模(二)

相关阅读 Verilog基础https://blog.csdn.net/weixin_45791458/category_12263729.html?spm1001.2014.3001.5482 三、拥有单个强度和确定值的net型信号的线与组合(线网多驱动) 首先来说明一下什么叫信号拥有单个强度和确定值,其实如果一个ne…

Vue中的日历组件 Calendar 实现 考勤打卡记录

日历组件 Calendar 可以自定义在页面添加内容。 实现效果图 1.由于Calendar没有右上角月份切换的API事件,可以给组件源码添加自定义添加一个事件 2.也可以通过自带的input事件来获取日历 3.vue页面完整代码 注释:this.$m(this.beginTime).format(…

Halcon 一维测量

文章目录 算子矩形算子弧形算子移动到新的参考点 Halcon 案例测量保险丝的宽度(边缘对测量)使用助手进行测量 halcon 案例获取芯片引脚的个数平均宽度距离,连续两个边缘的距离(measure_pos )halcon 定位测量Halcon 测量…

Java基础面试题-2day

面向对象 创建一个对象用什么运算符,对象实体和对象引用有什么不同? 创建对象使用new String A new String(); A即为对象引用,通过new运算符,创建String()类型的对象实体。 对象引用的存储位置在栈内存 对象实体的存储位置在堆…

【算法】使用优先级队列(堆)解决算法题(TopK等)(C++)

文章目录 1. 前言2. 算法题1046.最后一块石头的重量703.数据流中的第K大元素 2.5 如何选择大根堆 与 小根堆? 为什么选择大根堆(小根堆)?692.前K个高频单词295.数据流的中位数 1. 前言 我们知道:优先级队列是一种常用…

Maven 基础安装配置及使用

大家好我是苏麟 , 今天聊聊Maven . Maven Maven , 是Apache公司下基于Java开发的开源项目 . 我们构建一个项目需要用到很多第三方的类库,需要引入大量的jar包。一个项目Jar包的数量之多往往让我们瞠目结舌,并且Jar包之间的关系错综复杂,一…

高并发缓存问题分析以及分布式锁的实现

一,场景概述: 在高并发的环境下,比如淘宝,京东不定时的促销活动,大量的用户访问会导致数据库的性能下降,进而有可能数据库宕机从而不能产生正常的服务,一般一个系统最大的性能瓶颈,就是数据库的io操作,如果发生大量的io那么他的问题也会随之而来。从数据库入手也是…

Python | 六、哈希表 Hash Table(列表、集合、映射)

哈希表基础 哈希表是一类数据结构(哈希表包含数组、集合和映射,和前两篇文章叙述的字符串、链表平级)哈希表概念:类似于Python里的字典类型,哈希表把关键码key值通过哈希函数来和哈希表上的索引对应起来,之…

力扣第236题——二叉树的最近公共祖先 (C语言题解)

题目描述 给定一个二叉树, 找到该树中两个指定节点的最近公共祖先。 百度百科中最近公共祖先的定义为:“对于有根树 T 的两个节点 p、q,最近公共祖先表示为一个节点 x,满足 x 是 p、q 的祖先且 x 的深度尽可能大(一个节点也可以…

【论文总结】基于深度学习的特征点提取,特征点检测的方法总结

这里写目录标题 相关工作1. Discriminative Learning of Deep Convolutional Feature Point Descriptors(2015)网络结构sift算法损失函数的构建 2.MatchNet(2015)网络中的组成部分其他组成部分损失函数结果 3.LIFT: Learned Invariant Feature Transform(2016)网络结构训练网络…

虚拟线程探索与实践

优质博文:IT-BLOG-CN 一、简介 虚拟线程是轻量级线程,极大地减少了编写、维护和观察高吞吐量并发应用的工作量。虚拟线程是由JEP 425提出的预览功能,并在JDK 19中发布,JDK 21中最终确定虚拟线程,以下是根据开发者反馈…