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

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.hqwc.cn/news/329748.html

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

相关文章

Windows:笔记本电脑设置休眠教程

前言 不知道大家在使用【Windows】笔记本有没有这个习惯,我会把他的电池选项的【休眠】设置进行打开。因为作为我们开发人员电脑一般是一周关一次机,有时候一个月关一次机。这时候【休眠】功能就给我们提供了一个好处,我们选择了【休眠】后电…

web期末作业网页设计——JavaScript

目录 一.作品简介 二.网页效果 首页 花语 登录界面 注册界面 三.网页代码 首页 登录界面 注册界面 视频界面 一.作品简介 网站系统文件种类包含:html网页结构文件、css网页样式文件、js网页特效文件、images网页图片文件。 网页作品代码简单&#xff…

书生·浦语大模型实战营 Lesson 1

书生浦语大模型全链路开源体系 书生浦语大模型开源历程 书生浦语大模型系列 从模型到应用 数据 预训练 微调 部署

如何写html邮件 —— 参考主流outook、gmail、qq邮箱渲染邮件过程

文章目录 ⭐前言⭐outlook渲染邮件⭐gmail邮箱渲染邮件⭐qq邮箱渲染邮件 ⭐编写html邮件💖table表格的属性💖文本💖图片💖按钮💖背景图片 ⭐总结⭐结束 ⭐前言 大家好,我是yma16,本文分享关于 …

Android WiFi 连接

Android WiFi 连接 1、设置中WiFi显示2、WiFi 连接流程2.1 获取PrimaryClientModeManager2.2 ClientModeImpl状态机ConnectableState2.3 ISupplicantStaNetworkCallback 回调监听 3、 简要时序图4、原生低层驱动5、关键日志 1、设置中WiFi显示 Android WiFi基础概览 packages/a…

mybatisPlus CodeGenerator 代码生成

在 test 目录下新建 CodeGenerator 类,用于 mybatis-plus 自动生成 java 代码 package com.edward;import com.baomidou.mybatisplus.generator.FastAutoGenerator; import com.baomidou.mybatisplus.generator.config.OutputFile; import com.baomidou.mybatisplu…

ECMAScript简介及特性

ECMAScript,通常简称为ES,是一种由ECMA(欧洲计算机协会)国际组织标准化和推动的脚本语言规范。它被广泛用于Web浏览器和服务器端编程,是JavaScript的基础。 ECMAScript的起源可以追溯到1996年,当时Netscape…

HCIP-端口隔离、arp代理、聚合vlan、QinQ

目录 一,端口隔离(同vlan间同交换机下的端口隔离技术) 端口隔离原理: 双向隔离配置 4,端口隔离特殊使用:单向隔离 6,ARP代理 6.1 路由式代理 6.2 VLAN内ARP代理 6.3 VLAN间ARP代理 6.3…

Apache 配置与应用

目录 前言 1.1 Apache连接保持 1.2 Apache 的访问控制 1.2.1 客户机地址限制 1.2.2 用户授权限制 1.2.2.1 创建用户认证数据文件 1.2.2.2 添加用户授权配置 1.2.2.3 验证用户访问授权 ​编辑 1.3 Apache 日志分割 1.3.1 Apache 自带rotatelogs 分割工具 1.3.2 使用第…

Docker nginx容器代理播放m3u8视频文件(HLS)

文章目录 Docker Nginx容器代理播放M3U8文件教程获取Nginx Docker镜像设置Nginx配置文件用 ffmpeg 将 MP4 文件转换成 m3u8 文件运行Docker容器测试M3U8流其他问题我用vlc都能播放http://192.168.121.50/forest4kTest.m3u8和http://192.168.121.50/forest4kTest.mp4&#xff0c…

一款开源的MES系统

随着工业4.0的快速发展,制造执行系统(MES)成为了智能制造的核心。今天,将为大家推荐一款开源的MES系统——iMES工厂管家。 什么是iMES工厂管家 iMES工厂管家是一款专为中小型制造企业打造的开源MES系统。它具备高度的可定制性和灵…

深度学习数据集大合集—鱼类数据集

最近收集了一大波有关于各类鱼类的数据集,有淡水鱼、有深海鱼、有鱼的状态、有鱼的分类。大家可以详细查看。废话不多说,接下下来逐一的给大家介绍!! 1、鱼类检测数据集 包含鱼类的对象检测数据集 本数据集包含4种鱼类及其相关…