ModaHub魔搭社区:详解向量数据库Milvus的Mishards:集群分片中间件(五)

news2024/10/5 0:31:33

目录

在 Kubernetes 中部署 Mishards 集群

安装前提

安装流程

卸载 Mishards

从单机升级到 Mishards 集群

注意事项

基本案例


在 Kubernetes 中部署 Mishards 集群

安装前提

  • Kubernetes 版本 1.10 及以上
  • Helm 版本 2.12.0 及以上

关于 Helm 的使用请参考 Helm 使用指南。

安装流程

  1. 添加 Helm Chart 仓库:
$ helm repo add stable https://kubernetes-charts.storage.googleapis.com
  1. 安装 Chart 依赖:
$ git clone https://github.com/milvus-io/milvus-helm.git
$ cd milvus-helm/charts/milvus
$ helm dep update
  1. 部署 Mishards:
$ helm install --set cluster.enabled=true --set persistence.enabled=true milvus-release  .
  1. 检查部署状态:
$ helm list -f "milvus-release"

卸载 Mishards

  • 使用 Helm v2.x 卸载 Mishards:
$ helm delete milvus-release
  • 使用 Helm v3.x 卸载 Mishards:
$ helm uninstall milvus-release

从单机升级到 Mishards 集群

Milvus-Helm 支持从单机服务升级到 Mishards 集群。

  1. 部署单机 Milvus:
$ helm install --set persistence.enabled=true milvus-release .
  1. 升级到 Mishards 集群:
$ helm upgrade --set cluster.enabled=true --set persistence.enabled=true milvus-release .

 

注意事项

Mishards 依赖共享存储,因此 Kubernetes 集群中必须有可用的 PV(Persistent Volumes), 并且保证 PV 能够同时被多个 Pod 共同使用。这里通过 persistence.enabled 来开启 Persistent Volumes。

  1. 为了共享数据,PV 访问模式必须被设置为 ReadOnlyMany 或者 ReadWriteMany。
  2. 选择文件存储系统:
    • 如果集群部署在 AWS,可以使用 Elastic File System (EFS)。
    • 如果集群部署在 Azure,可以使用 Azure File Storage (AFS)。
  • 关于 PersistentVolume 的申请及管理,请参阅 Persistent Volumes。
  • 关于 PersistentVolume 的访问模式,请参阅 Access Modes。

基本案例

你可以在 Milvus Helm Charts 找到 Milvus-Helm 支持的所有参数。

  1. 配置有多个读节点和多个 Mishards 分片中间件的集群。我们通常配置多个节点来保证服务的可用性以及提高吞吐率。下面的例子部署的 Mishards 集群包括:2 个分片中间件、2 个读节点、1 个写节点。
$ helm install
   --set cluster.enabled=true     \
   --set persistence.enabled=true \
   --set mishards.replica=2       \
   --set readonly.replica=2       \
   milvus-release .

这里通过 mishards.replica 和 readonly.replica 控制副本集数量,默认值为 1。Mishards 集群中的写节点暂时不支持扩展。

  1. 使用外部已配置好的 MySQL 集群作为元数据数据库。为了配合本地部署,有些情况需要支持外部的 MySQL。Milvus-Helm 内部的 MySQL 服务不保证高可用,但你可以通过外部的 MySQL 集群来提升可用性。下面的例子就是基于外部 MySQL 的部署。
$ helm install
   --set cluster.enabled=true             \
   --set persistence.enabled=true         \
   --set mysql.enabled=false              \
   --set externalMysql.enabled=true       \
   --set externalMysql.ip=192.168.1.xx    \
   --set externalMysql.port=3306          \
   --set externalMysql.user=root          \
   --set externalMysql.password=root      \
   --set externalMysql.database=milvus    \
   milvus-release .

若使用外部的 MySQL,则不再需要 Helm 内置的 MySQL 服务。这里通过 mysql.enabled 来关闭 Helm 内置的 MySQL 服务。

 

  1. 读写节点的 Milvus 分别使用不同的配置。为了更合理地使用资源,我们希望读节点和写节点拥有不一样的配置。下面的例子配置了一个拥有 16 GB 内存的读节点和 8 GB 内存的写节点。
$ helm install
   --set cluster.enabled=true                     \
   --set persistence.enabled=true                 \
   --set cache.cpuCacheCapacity=8                 \
   --set readonly.cache.cpuCacheCapacity=16       \
   milvus-release .
    • 更多 Milvus 配置参数,请参阅 Milvus 服务端配置。
    • 更多 Milvus-Helm 配置参数,请参阅 Milvus Helm Charts。
  1. 配置 GPU 资源。使用 GPU 可以有效提升 Milvus 的性能。下面的例子通过 gpu.enabled=true 允许写节点使用 GPU 资源,readonly.gpu.enabled=false 禁止读节点使用 GPU 资源。
$ helm install
   --set cluster.enabled=true             \
   --set persistence.enabled=true         \
   --set gpu.enabled=true                 \
   --set readonly.gpu.enabled=false       \
   milvus-release .

Kubernetes 集群中必须有可访问的 GPU 资源。关于 Kubernetes 中的 GPU 资源管理及调度,请参阅 Schedule GPUs。

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

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

相关文章

【python入门系列】第一章:Python基础语法和数据类型

文章目录 前言一、简单语法1. 注释 这是一个单行注释2. 变量 二、数据类型1.字符串2.整数3.浮点数4.布尔值5.列表 三、运算符1.算术运算符:用于执行基本的算术操作,如加、减、乘和除。2.比较运算符:用于比较两个值的大小或相等性。3.逻辑运算…

01.网络编程-基础概念

网络编程就是指编写互联网项目,项目可以通过网络传输数据进行通讯 网络编程最主要的工作就是在发送端把信息通过规定好的协议进行组装包,在接收端按照规定好的协议把包进行解析,从而提取出对应的信息,达到通信的目的 1.1 软件结构…

Oracle 11g安装配置完美教程 - Windows

写在前面:博主是一只经过实战开发历练后投身培训事业的“小山猪”,昵称取自动画片《狮子王》中的“彭彭”,总是以乐观、积极的心态对待周边的事物。本人的技术路线从Java全栈工程师一路奔向大数据开发、数据挖掘领域,如今终有小成…

用Java解决华为OD机试考题,目标300+真题,清单奉上,祝你上岸

华为OD机考大纲 其它语言版本华为 OD 机试题清单(机试题库还在逐日更新)详细大纲 其它语言版本 本目录为华为od机试JS题解目录,其它版本清单如下 ⭐️华为OD机考 Python https://blog.csdn.net/hihell/category_12199275.html ⭐️华为OD机考…

BOSHIDA DC电源模块低温试验检测详细分析

BOSHIDA DC电源模块低温试验检测详细分析 DC电源模块的低温试验是电源应用领域中的一项重要测试,它可以检测模块在低温环境下的性能表现是否与设计要求相符。这是因为在一些极端环境下,电源模块的性能会受到影响,从而影响整个系统的运行稳定…

山西电力市场日前价格预测【2023-06-30】

日前价格预测 预测明日(2023-06-30)山西电力市场全天平均日前电价为362.38元/MWh。其中,最高日前价格为477.68元/MWh,预计出现在21: 15。最低日前电价为247.28元/MWh,预计出现在13: 00。以上预测仅供学习参考&#xff…

Pytorch深度强化学习(3):详解K摇臂赌博机模型和ϵ-贪心算法

目录 1 K-摇臂赌博机2 ϵ \epsilon ϵ-贪心算法3 softmax算法4 Python实现与分析 1 K-摇臂赌博机 单步强化学习是最简单的强化学习模型,其以贪心策略为核心最大化单步奖赏 如图所示,单步强化学习的理论模型是 K K K-摇臂赌博机( K K K-armed bandit)&…

内部类之成员内部类

我们在阅读源码的过程中,会遇到很多内部类,让我们阅读难度增加。这篇文章主要介绍成员内部类的作用 1.成员内部类可以访问外部类的所有方法和成员变量(不论是静态的还是非静态的) package com.high.concurrency.inner;/*** auth…

如何让chatgpt给我们实现一个桌面便签?

我: 用Java开发一款桌面便签软件。功能需求:1、便签可以钉在桌面任意角落;2、便签内容实时保存到本地;3、有新增按钮,点击新增时清除当前面板上的内容,新建一条新的便签内容,并保存到本地&#…

通往AGI之路:揭秘英伟达A100、A800、H800、V100在高性能计算与大模型训练中的霸主地位

AGI | NLP | A100 | H100 | Nvidia | Aurora GPT| LLM | A800 | V100 | Intel | ChatGPT 日前,随着深度学习、高性能计算、大模型训练等技术的保驾护航,通用人工智能时代即将到来。各个厂商也都在紧锣密鼓的布局,如英伟达前段时间发布GH 200…

C3.ai:一个即将“破灭”的人工智能泡沫

来源:猛兽财经 作者:猛兽财经 C3.ai仅适用于能承受高风险波动的投资者 猛兽财经曾在之前分析过C3.ai(AI)这家公司,认为C3.ai可能在借助人工智能热潮炒作自己。截止撰写本文时,C3.ai的股价已跌到了到2…

使用ganymed-ssh2连接linux报错 Cannot negotiate, proposals do not match

ganymed-ssh2连接linux报错 背景报错信息解决方案:运行成功 背景 最近有个项目,需要在Linux下的服务器内写了一部分Python脚本,业务处理却是在Java内,那么就想能不能在Java里面,来远程执行Linux下的Python脚本&#x…

chatgpt赋能python:使用Python连接网络摄像头

使用Python连接网络摄像头 网络摄像头是现代生活中不可或缺的设备之一,其允许用户在远程位置查看实时视频流。Python语言提供了强大的工具来连接和控制网络摄像头。本文将向您展示如何使用Python连接网络摄像头以及如何将视频流数据流式传输到本地计算机。 环境设…

【AUTOSAR】BMS开发实际项目讲解(十九)----电池管理系统系统设计电池单体过放后再充电保护

电池单体过放后再充电保护 关联的系统需求 TSR-BMS-2101、TSR-BMS-2102、TSR-BMS-2103、TSR-BMS-2104、TSR-BMS-2105、TSR-BMS-2106、TSR-BMS-2107、TSR-BMS-2108、TSR-BMS-2109、TSR-BMS-2110、TSR-BMS-2111、TSR-BMS-2112、TSR-BMS-2113、TSR-BMS-2114、TSR-BMS-2115、TSR-B…

七年老Android推荐 : 日常开发中好用的工具 (一)

1. 前言 作为一名拥有七年经验的Android开发工程师,在日常开发中,总希望能提升自己的开发效率,对此也积累了一些工具,本文对此总结了一些好用的工具。 2. 视频转GIF工具 我们在写博客的时候,常常要录屏,…

leetcode:2000. 反转单词前缀(python3解法)

难度:简单 给你一个下标从 0 开始的字符串 word 和一个字符 ch 。找出 ch 第一次出现的下标 i ,反转 word 中从下标 0 开始、直到下标 i 结束(含下标 i )的那段字符。如果 word 中不存在字符 ch ,则无需进行任何操作。…

智云通CRM:在谈判中如何避免被客户利用的陷阱?

智云通CRM系统是一款专业的客户关系管理系统,帮助企业实现客户管理的数字化转型。在日常销售工作中,销售人员经常会面临各种问题和质疑,良好的应对技巧和回答方法对于维护好客户关系、促成交易非常重要。下面将介绍一些经常会被客户问到的问题…

从源码全面解析 dubbo 服务端服务调用的来龙去脉

👏作者简介:大家好,我是爱敲代码的小黄,独角兽企业的Java开发工程师,CSDN博客专家,阿里云专家博主📕系列专栏:Java设计模式、Spring源码系列、Netty源码系列、Kafka源码系列、JUC源码…

echatrs-地图,根据数据进行点状显示和指向

echarts地址:https://www.makeapie.cn/echarts var data2 [{ name: 海门, value: 9 },{ name: 鄂尔多斯, value: 12 },{ name: 招远, value: 12 },{ name: 舟山, value: 12 },{ name: 齐齐哈尔, value: 14 },{ name: 盐城, value: 15 },{ name: 赤峰, value: 16 },…

JMeter 后置处理器之JSON提取器

目录 前言: 测试环境 插件介绍 插件参数 插件使用示例 JSON-PATH表达式介绍 操作符 函数 过滤器操作符 JSON PATH示例 前言: JMeter是一个功能强大的性能测试工具,它提供了许多后置处理器来处理和提取测试结果。其中一个常用的后…