源码编译部署篇(二)源码编译milvus成功后如何启动standalone并调试成功!

news2024/9/21 22:57:54

Milvus启动和调试

  • 0 前言
  • 1 Milvus启动
    • 【问题描述】出现Aborted问题
    • 【问题分析】
    • 【解决方法】
      • 安装Pulsar服务
      • 执行单机启动命令解决
      • 监听端口号
  • 2 Milvus调试
    • 编写launch.json
    • 验证单例调试成功
  • 3 遇到的问题汇总
    • 问题1
    • 问题2:Permission denied

0 前言

由于Milvus官方文档只提及如何使用docker安装部署Milvus,关于源码安装方式篇幅较少,因此,我整理撰写了如何通过源码编译方式成功安装Milvus,详见此篇。之所以选择这种复杂的安装方式,可以调试源码进而熟悉Milvus如何搭建整个框架支持AI上层应用功能。根据上篇步骤部署虽然可以成功,然而,我却不能成功启动Milvus服务,这个问题困扰了一两天,现在终于得以解决并能成功调试Milvus源码。接下来,分为三个部分介绍如何启动和成功调试。

1 Milvus启动

Milvus服务启动主要分为两种模式,一种是单机(Milvus Standalone),另一种是集群(Milvus Cluster)。我选择单机模式启动,单机指的是不提供网络功能的数据库。

根据下图的用法提示,启动命令如下:
在这里插入图片描述

启动命令:

./bin/milvus run standalone

可能每个人服务器性能、赋予权限等都不同,不一定会遇到和我一样无法成功启动的问题。这里记录我遇到的问题以及解决方案。

【问题描述】出现Aborted问题

在这里插入图片描述

【问题分析】

这个问题困扰了我两天,后仔细阅读Milvus官方文档发现,Milvus启动的前提依赖于三个外部服务,即etcd、minio和Pulsar。版本要求如下:
在这里插入图片描述
未提前安装这三个外部服务的可以先提前安装,根据我上篇部署博客步骤安装的话,在此步应只有Pulsar未安装。

【解决方法】

安装Pulsar服务

因此,这里只记录安装Pulsar服务步骤:

  1. 下载2.8.2版本
wget https://archive.apache.org/dist/pulsar/pulsar-2.8.2/apache-pulsar-2.8.2-bin.tar.gz
  1. 解压
tar xvfz apache-pulsar-2.8.2-bin.tar.gz
  1. 进入目录启动Pulsar服务
cd apache-pulsar-2.8.2
bin/pulsar standalone

启动成功后,如果看到一堆日志[INFO]提示且味异常中断,则表示启动成功。

执行单机启动命令解决

不出意外,还是失败!(这是肯定的啦~)
接下来,要根据启动报错日志来解决问题,结果导向问题。

下图是我遇到的问题,我将此部分总结在“3 遇到的问题汇总”,故不赘述,具体可自行跳转到指定位置查看。
在这里插入图片描述
成功启动界面如下:
在这里插入图片描述

监听端口号

到这一步,所有的问题均解决了。查看端口号,若正在监听,则表示启动成功!可以逐一查询以下端口号是否正在监听:

  • Pulsar-port:6650/ 2181/3181/
  • milvus-server-port:19530
  • milvus-HTTP:9091
  • etcd-port:2379/2380
  • minio-port:9000

查看服务是否启动命令:

sudo netstat -tulnp | grep 9091

显示如下信息,表示启动成功:

tcp6       0      0 :::9091       

2 Milvus调试

编写launch.json

{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "Debug Milvus_cp1.1",
            "type": "cppdbg",
            "request": "attach",
            "program": "~/milvus_cp1.1/bin/milvus",
            "args": [], // Any arguments the program needs
            "stopAtEntry": false,
            "cwd": "${workspaceFolder}",
            "environment": [],
            "externalConsole": false,
            "MIMode": "gdb",
            "setupCommands": [
                {
                    "description": "Enable pretty-printing for gdb",
                    "text": "-enable-pretty-printing",
                    "ignoreFailures": true
                }
            ],
            "preLaunchTask": "", // Task to run before debugging, like 'build'
            "miDebuggerPath": "/usr/bin/gdb" // Path to gdb
        }
    ]
}

验证单例调试成功

启动成功部署调试环境后,下载官网提供的python-sdk文件,运行成功界面如下:
在这里插入图片描述
打好断点后,启动milvus standalone,会跳转到断点位置,调试成功!
在这里插入图片描述
在这里插入图片描述

3 遇到的问题汇总

问题1

【问题描述】[ERROR] [datacoord/service.go:150] [“grpc server failed to listen error”] [error=“listen tcp :13333: bind: address already in use”] [stack=“github.com/milvus-io/milvus/internal/distributed/datacoord.(*Server).startGrpcLoop\n\t/home/b8402/22_raowenjing/milvus_cp1.1/internal/distributed/datacoord/service.go:150”]
【解决方法】直接杀掉占用13333的端口进程
再次运行./bin/milvus run standalone
【结果】没有报错。

问题2:Permission denied

[FATAL] [msgstream/mq_factory.go:16] [“fail to init rocksmq”] [error=“mkdir /var/lib/milvus: permission denied”]
【解决方法】更改权限。因为我是普通用户不能访问root权限。

sudo chown -R xxx:xxx /var/lib/milvus

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

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

相关文章

VX小程序Burp抓包

方法有很多,工具也各有差异,主要是学代理流量的思路 Burp流量代理工具小程序 一、Burp证书导入 1、开启代理 开启浏览器的代理,火狐推荐FoxyProxy,Google推荐SwitchyOmega,设置代理为127.0.0.1:8080。 2、下载证书…

[C#]Onnxruntime部署Chinese CLIP实现以文搜图以文找图功能

【官方框架地址】 https://github.com/OFA-Sys/Chinese-CLIP 【算法介绍】 在当今的大数据时代,文本信息处理已经成为了计算机科学领域的核心议题之一。为了高效地处理海量的文本数据,自然语言处理(NLP)技术应运而生。而在诸多N…

性能分析与调优: Linux 使用ELRepo升级CentOS内核

目录 一、实验 1.环境 2.agent 服务器使用ELRepo升级CentOS内核 二、问题 1. RHEL-7, SL-7 或者 CentOS-7系统如何安装ELRepo 2.RHEL-8或者RHEL-9系统如何安装ELRepo 一、实验 1.环境 (1)主机 表1-1 主机 主机架构组件IP备注prometheus 监测 系…

超维空间M1无人机使用说明书——21、基于opencv的人脸识别

引言:M1型号无人机不仅提供了yolo进行物体识别,也增加了基于opencv的人脸识别功能包,仅需要启动摄像头和识别节点即可 链接: 源码链接 一、一键启动摄像头和人脸识别节点 roslaunch robot_bringup bringup_face_detect.launch无报错&#…

Maven在java中的实现(对java的项目进行打包)

前言: 在前面的文章中我们了解了Maven的作用,并在自己的电脑上安装配置好了Maven,也成功的在IDEA中添加了Maven,但是具体的实现还是有一些些小问题,那么接下来,我将带着大家对Java项目进行一次打包,系统的完成一次,并在途中解决一下会出现的问题. 我以图片中选中的这个包为例,…

在docker上运行LCM

目录 1.加载镜像并进入容器 2.安装依赖 3.在docker外部git-clone lcm 4.将get-clone的lcm复制到容器中 5.编译库 6.将可执行文件复制到容器中 7.进入可执行文件 8.编译可执行文件 9.再开一个终端运行程序 10.将以上容器打成镜像并导出 1.加载镜像并进入容器 sudo do…

【无标题】山姆奥特曼喊话AI创业者

这里写自定山姆奥特曼充满激情地向创业者们发出呼吁,他表示AI是一个可以媲美互联网早期机遇的巨大机会。与此相关的人士认为,现在是互联网和移动互联网创业者们行动起来的时候了!他们应该全面拥抱大模型的应用层创业。第一波红利期在6-8个月内…

STM32F103使用硬件SPI+缓冲区的模式刷新硬件显示模块

上次讲到使用全屏做一个缓冲区,因为cpuRAM空间不足,无法实现,想办法使用一行作为一个缓冲区的模式: 老的全屏刷新程序: void LCD_Fill(uint16_t xsta,uint16_t ysta,uint16_t xend,uint16_t yend,uint16_t color) { …

3.2 MAPPING THREADS TO MULTIDIMENSIONAL DATA

1D、2D或3D线程组织的选择通常基于数据的性质。图片是2D像素阵列。使用由2D块组成的2D网格通常可以方便地处理图片中的像素。图3.2显示了处理7662图片P的这种安排(水平或x方向为76像素,垂直或y方向为62像素)。假设我们决定使用16 x 16块&…

桌面图标变成白色文件?学会这4个方法,轻松解决!

“不知道为什么,我有些文件夹直接保存在电脑桌面了,但是今天查看的时候却发现它们变成了白色的文件。有什么方法可以解决这个问题吗?” 在使用电脑时,可能由于各种原因,会出现桌面图标变成白色文件的情况。这不仅会让用…

听GPT 讲Rust源代码--compiler(36)

File: rust/compiler/rustc_middle/src/mir/graphviz.rs 在Rust源代码中,rust/compiler/rustc_middle/src/mir/graphviz.rs文件的作用是生成MIR(Mid-level Intermediate Representation)的图形可视化表示。MIR是Rust编译器中间表示的一种形式…

如何解决海量数据的问题

近年来,高并发、分布式以及大数据成了后端开发者绕不开的话题,招聘软件上几呼都写着有高并发、大数据等项目经历优先时。很多人实际项目往往都是 CRUD,也没机会接触到这些场景啊。 但是,有位伟人曾经说过:没有条件&am…

九、HTML头部<head>

一、HTML头部<head> 1、<title>- 定义了HTML文档的标题 使用 <title> 标签定义HTML文档的标题 <!DOCTYPE html> <html><head><meta charset"utf-8"><title>我的 HTML 的第一页</title> </head><b…

ant-design-vue的日期组件a-range-picker赋值的问题

在使用ant-design-vue的日期组件时&#xff0c;总是会碰到赋值问题&#xff0c;习惯性的赋值就是直接给日期组件的变量赋值字符串类型&#xff0c;如下 // html部分 <a-range-picker v-model"dateValue" :format"YYYY-MM-DD"/> // js部分 data() {r…

2024年大数据不完全预测

人工智能的进步可能是2024年的主要推动力&#xff0c;也凸显出大数据的挑战——如何存储、管理、管理和使用大数据——从未如此紧迫。&#xff0c;因为如果作为基石的数据失控&#xff0c;人工智能就没有意义了。当然反之亦然。 人工智能的进步可能是2024年的主要推动力&#…

1999-2022年上市公司微观企业劳动生产率数据(原始数据+计算代码+处理结果)

1999-2022年上市公司微观企业劳动生产率数据&#xff08;原始数据计算代码处理结果&#xff09; 1、时间&#xff1a;1999-2022年 2、来源&#xff1a;原始数据整理自csmar 3、指标&#xff1a;证券代码&#xff0c;证券简称、员工人数&#xff0c;营业收入 4、范围&#x…

C++ 学习系列 -- tuple 原理

一 可变参数模板 variadic template 前面的章节 C 学习系列 -- 模板 template-CSDN博客 我们介绍了 c 中的模板概念&#xff0c;本章则在其基础上介绍了新的概念 可变参数模板 variadic template &#xff0c;顾名思义&#xff0c;可变参数模板意思为模板参数的类型与数量是变…

浅谈智能照明系统调试阶段节能方案的探究与产品选型

贾丽丽 安科瑞电气股份有限公司 上海嘉定 201801 【摘要】针对当今智能照明系统调试完成前能源浪费的问题&#xff0c;本文结合工程案例&#xff0c;分析研究了智能照明系统调试阶段的节能方法&#xff0c;提出了采用时间控制器来解决能源及人工浪费等问题的方式。实践证明&a…

微众区块链观察节点的架构和原理 | 科普时间

践行区块链公共精神&#xff0c;实现更好的公众开放与监督&#xff01;2023年12月&#xff0c;微众区块链观察节点正式面向公众开放接入功能。从开放日起&#xff0c;陆续有多个观察节点在各地运行&#xff0c;同步区块链数据&#xff0c;运行区块链浏览器观察检视数据&#xf…

Kafka(六)消费者

目录 Kafka消费者1 配置消费者bootstrap.serversgroup.idkey.deserializervalue.deserializergroup.instance.idfetch.min.bytes1fetch.max.wait.msfetch.max.bytes57671680 (55 mebibytes)max.poll.record500max.partition.fetch.bytessession.timeout.ms45000 (45 seconds)he…