DM数据库数据守护集群搭建_数据守护集群安装部署-程序员宅基地

技术标签: 运维  linux  服务器  数据库  

目录

1、环境说明

2、数据准备

(1)正常关闭数据库:前台+后台

(2)进行脱机备份

(3)拷贝备份文件到备机

(4)备机进行脱机数据库还原与恢复

3、配置主库DMDB1

3.1 配置dm.ini

 3.2 配置dmmal.ini

3.3 配置dmarch.ini

 3.4 配置dmwatcher.ini

3.5 mount配置模式启动主库

4、配置备库DMDB2

4.1 配置dm.ini

4.2 配置dmmal.ini

4.3 配置dmmal.ini

4.4 配置dmwatcher.ini

4.5 mount配置模式启动备库

5、配置监视器

6、启动守护进程

7、启动监视器


数据守护原理介绍:
DM数据守护(DM Data Watch)的实现原理:
将主库(生产库)产生的Redo日志传输到备库,备库接收并重新应用Redo日志,从而实现备库与主库的数据同步。DM数据守护的核心思想是监控数据库状态,获取主、备库数据同步情况,Redo日志传输与重演过程中出现的各种异常情况提供一系列的解决方案。
DM数据守护可以配置成实时主备、MPP主备、读写分离、DSC守护。
DM数据守护系统主要由主库、备库、Redo日志、Redo日志传输、Redo日志重演、守
护进程(dmwatcher)、监视器(dmmonitor)组成。
数据库模式介绍
Normal模式
提供正常的数据库服务,操作没有限制。正常生成本地归档,但不发送实时归档 (Realtime)、即时归档(Timely)和异步归档(Async)。
Primary模式
提供正常的数据库服务,操作有极少限制。正常生成本地归档,支持实时归档(Realtime)、即时归档(Timely)和异步归档(Async)。Primary模式下,对临时表空
间以外的所有的数据库对象的修改操作都强制生成Redo日志。
Standby模式
可以执行数据库备份、查询等只读数据库操作。正常生成本地归档,正常发送异步归
档Redo日志;但实时归档(Realtime)、即时归档(Timely)均强制失效。该模式下时
间触发器、事件触发器等都失效。

1、环境说明

机器名 IP地址 初始状态 操作系统
DM_P

192.168.174.130(外网)

192.168.158.130(内网)

主库

DMDB1

CentOS-7-x86_64-DVD-2009
DM_S1

192.168.174.131(外网)

192.168.158.131(内网)

备库

DMDB2

CentOS-7-x86_64-DVD-2009
DM_M

192.168.174.134(外网)

监视器 CentOS-7-x86_64-DVD-2009

端口规划

实例名 PORT_NUM MAL_INST_DW_PORT MAL_HOST MAL_PORT MAL_DW_PORT
DMDB1 32141 32141 192.168.158.130 61141 52141
DMDB2 32142 32142 192.168.158.131 61142 52142

2、数据准备


  配置数据守护之前,必须先通过备份还原方式同步各数据库的数据,确保各数据的数据保持完全一致。主库可以是新初始化的数据库,也可以是正在生产、使用中的数据库。备库在备份还原前,需要先准备初始化一个新库。
不能使用分别初始化库或者直接拷贝数据文件的方法来直接配置数据库守护,原因如下:
1.每个库都有一个永久魔数(permanent_magic),一经生成,永远不会改变,主库传送日志时会判断这个值是否一样,确保是来自同一个数据守护环境中的库,否则传送不了日志。
2.由于dminit初始化数据库时,会生成随机密钥用于加密,每次生成的密钥都不相同,备库无法解析采用主库密钥加密的数据。
3.每个库都有一个数据库魔数(DB_MAGIC),每经过一次还原、恢复操作,DB_MAGIC就会产生变化,需要通过这种方式来区分同一个数据守护环境中各个不同的库。
  如果是初始搭建环境,可以通过对主库脱机备份、对备库脱机还原的方式来准备数据,如果主库已经处于运行状态,则可以对主库进行联机备份、对备库脱机还原的方式来准备数据。

克隆的已经安装达梦数据库,初始化了实例的虚拟机的话,在操作之前是需要关闭数据库的。总之脱机备份之前要保证数据库是关闭的。

数据准备的具体步骤包括:

(1)正常关闭数据库:前台+后台

后台关闭:

systemctl stop DmServiceDMSERVER.service

数据库在初始化实例之后必须前台启动刷新一下!不然会出现守护进程无法自动将数据库转变为open状态,数据库将一直处于mount状态。

前台打开:切换到达梦数据库安装的bin目录下执行下面语句,我的达梦数据库bin目录路径为:/dm8/bin

./dmserver /dm8/data/DAMENG/dm.ini

前台关闭:Ctrl+C

(2)进行脱机备份

到bin目录下使用dmrman工具进行脱机备份。

./dmrman.sh    


RMAN> backup database '/dm8/data/DAMENG/dm.ini' full backupset '/dm8/fullbak';

(3)拷贝备份文件到备机

[dmdba@localhost ~]$ scp -r 192.168.174.130:/dm8/fullbak /dm8/

(4)备机进行脱机数据库还原与恢复

执行/dm8/bin目录下的dmrman工具

restore database '/dm8/data/DAMENG/dm.ini' from backupset '/dm8/fullbak';
recover database '/dm8/data/DAMENG/dm.ini' from backupset '/dm8/fullbak';
recover database '/dm8/data/DAMENG/dm.ini' update db_magic;

3、配置主库DMDB1

        切忌:如果你已经初始化过实例,或者采用克隆的方式克隆已经安装达梦数据库,且实例化的虚拟机,请不要再初始化了!!会出现overwrite一些文件的情况。

DW_P机器上初始化主库至目录/dm8/data:

./dminit path=/dm8/data

DW_S1机器上初始化备库至目录/dm8/data:

./dminit path=/dm8/data

3.1 配置dm.ini

vi /dm8/data/DAMENG/dm.ini

一般只修改前面四个参数值。

MAL_INI  =	1	#打开 MAL 系统
ARCH_INI  =	1	#打开 归档
ALTER_MODE_SATUS=	0	#不允许手工方式修改实例模式/状态/OGUID
ENABLE_OFFLINE_TS=	2	#不允许备库 OFFLINE 表空间
RLOG_SEND_APPLY_MON =  	64	#统计最近 64 次的日志发送信息
INSTANCE_NAME = 	DMDB1	#实例名
PORT_NUM = 	32141	#数据库实例监听端口
DW_INACTIVE_INTERVAL =	60 	#接收守护进程消息超时时间

 3.2 配置dmmal.ini


主备库的dmmal.ini配置必须完全一致,MAL_HOST使用内部网络IP,MAL_PORT与dm.ini中PORT_NUM使用不同的端口值,MAL_DW_PORT是各实例对应的守护进程之间,以及守护进程和监视器之间的通信端口,配置如下:

vi /dm8/data/DAMENG/dmmal.ini
MAL_CHECK_INTERVAL = 5 #MAL 链路检测时间间隔
MAL_CONN_FAIL_INTERVAL = 5 #判定 MAL 链路断开的时间
[MAL_INST1]
MAL_INST_NAME = DMDB1 #实例名,和 dm.ini 中的 INSTANCE_NAME 一致
MAL_HOST = 192.168.158.130 #MAL 系统监听 TCP 连接的 IP 地址
MAL_PORT = 61141 #MAL 系统监听 TCP 连接的端口
MAL_INST_HOST = 192.168.174.130 #实例的对外服务 IP 地址
MAL_INST_PORT = 5236 #实例的对外服务端口,和 dm.ini 中的 PORT_NUM 一致
MAL_DW_PORT = 52141 #实例本地的守护进程监听 TCP 连接的端口
MAL_INST_DW_PORT = 33141 #实例监听守护进程 TCP 连接的端口
[MAL_INST2]
MAL_INST_NAME = DMDB2 #实例名,和 dm.ini 中的 INSTANCE_NAME 一致
MAL_HOST = 192.168.158.131
MAL_PORT = 61142
MAL_INST_HOST = 192.168.174.131 #实例的对外服务 IP 地址
MAL_INST_PORT = 5236
MAL_DW_PORT = 52142 #实例本地的守护进程监听 TCP 连接的端口
MAL_INST_DW_PORT = 33142 #实例监听守护进程 TCP 连接的端口

3.3 配置dmarch.ini


当前实例DMDB1是主库,需要向DMDB2(实时守护类型的备库)同步数据,因此实时归档的ARCH_DEST配置为DMDB2。

vi /dm8/data/DAMENG/dmarch.ini
[ARCHIVE_REALTIME]
ARCH_TYPE = REALTIME #实时归档类型
ARCH_DEST = DMDB2 #实时归档目标实例名
[ARCHIVE_LOCAL1]
ARCH_TYPE = LOCAL #本地归档类型
ARCH_DEST = /dm8/data/DAMENG/arch #本地归档文件存放路径
ARCH_FILE_SIZE = 128 #单位 Mb,本地单个归档文件最大值
ARCH_SPACE_LIMIT = 0 #单位 Mb, 0 表示无限制,范围 1024~4294967294M

 3.4 配置dmwatcher.ini

守护进程是管理数据守护系统的核心部件,是数据库实例和监视器之间信息流转的桥梁。
1、数据库实例向本地守护进程发送信息,接收本地守护进程的消息和命令;
2、监视器(dmmonitor)接收守护进程的消息,并向守护进程发送命令;
3、守护进程解析并执行监视器发起的各种命令(Switchover/Takeover/Open database等),并在必要时通知数据库实例执行相应的操作;
4、数据库实例与监视器之间没有直接的消息交互。
 

修改 dmwatcher.ini 配置守护进程,配置为全局守护类型,使用自动切换模式。

vi /dm8/data/DAMENG/dmwatcher.ini
[GRP1]
DW_TYPE = GLOBAL #全局守护类型
DW_MODE = AUTO #自动切换模式
DW_ERROR_TIME = 10 #远程守护进程故障认定时间
INST_RECOVER_TIME = 60 #主库守护进程启动恢复的间隔时间
INST_ERROR_TIME = 10 #本地实例故障认定时间
INST_OGUID = 453331 #守护系统唯一 OGUID 值
INST_INI = /dm8/data/DAMENG/dm.ini #dm.ini 配置文件路径
INST_AUTO_RESTART = 1 #打开实例的自动启动功能
INST_STARTUP_CMD = /dm8/bin/dmserver #命令行方式启动
RLOG_SEND_THRESHOLD = 0 #指定主库发送日志到备库的时间阀值,默认关闭
RLOG_APPLY_THRESHOLD = 0 #指定备库重演日志的时间阀值,默认关闭

3.5 mount配置模式启动主库

./dmserver /dm8/data/DAMENG/dm.ini mount

启动命令行工具disql,登录主库设置OGUID值。

SP_SET_PARA_VALUE(1, ‘ALTER_MODE_STATUS’, 1);
sp_set_oguid(453331);
SP_SET_PARA_VALUE(1, ‘ALTER_MODE_STATUS’, 0);

 修改数据库模式为主库.

alter database primary;

4、配置备库DMDB2

4.1 配置dm.ini

vi /dm8/data/DAMENG/dm.ini
MAL_INI  =	1	#打开 MAL 系统
ARCH_INI  =	1	#打开 归档
ALTER_MODE_SATUS=	0	#不允许手工方式修改实例模式/状态/OGUID
ENABLE_OFFLINE_TS=	2	#不允许备库 OFFLINE 表空间
RLOG_SEND_APPLY_MON =  	64	#统计最近 64 次的日志发送信息
INSTANCE_NAME = 	DMDB2	#实例名
PORT_NUM = 	32141	#数据库实例监听端口
DW_INACTIVE_INTERVAL =	60 	#接收守护进程消息超时时间

4.2 配置dmmal.ini


主备库的dmmal.ini配置必须完全一致,MAL_HOST使用内部网络IP,MAL_PORT与dm.ini中PORT_NUM使用不同的端口值,MAL_DW_PORT是各实例对应的守护进程之间,以及守护进程和监视器之间的通信端口,配置如下:

vi /dm8/data/DAMENG/dmmal.ini
MAL_CHECK_INTERVAL = 5 #MAL 链路检测时间间隔
MAL_CONN_FAIL_INTERVAL = 5 #判定 MAL 链路断开的时间
[MAL_INST1]
MAL_INST_NAME = DMDB1 #实例名,和 dm.ini 中的 INSTANCE_NAME 一致
MAL_HOST = 192.168.158.130 #MAL 系统监听 TCP 连接的 IP 地址
MAL_PORT = 61141 #MAL 系统监听 TCP 连接的端口
MAL_INST_HOST = 192.168.174.130 #实例的对外服务 IP 地址
MAL_INST_PORT = 5236 #实例的对外服务端口,和 dm.ini 中的 PORT_NUM 一致
MAL_DW_PORT = 52141 #实例本地的守护进程监听 TCP 连接的端口
MAL_INST_DW_PORT = 33141 #实例监听守护进程 TCP 连接的端口
[MAL_INST2]
MAL_INST_NAME = DMDB2 #实例名,和 dm.ini 中的 INSTANCE_NAME 一致
MAL_HOST = 192.168.158.131
MAL_PORT = 61142
MAL_INST_HOST = 192.168.174.131 #实例的对外服务 IP 地址
MAL_INST_PORT = 5236
MAL_DW_PORT = 52142 #实例本地的守护进程监听 TCP 连接的端口
MAL_INST_DW_PORT = 33142 #实例监听守护进程 TCP 连接的端口

4.3 配置dmmal.ini

当前实例DMDB1是主库,需要向DMDB2(实时守护类型的备库)同步数据,因此实时归档的ARCH_DEST配置为DMDB2。

vi /dm8/data/DAMENG/dmarch.ini
[ARCHIVE_REALTIME]
ARCH_TYPE = REALTIME #实时归档类型
ARCH_DEST = DMDB1 #实时归档目标实例名
[ARCHIVE_LOCAL1]
ARCH_TYPE = LOCAL #本地归档类型
ARCH_DEST = /dm8/data/DAMENG/arch #本地归档文件存放路径
ARCH_FILE_SIZE = 128 #单位 Mb,本地单个归档文件最大值
ARCH_SPACE_LIMIT = 0 #单位 Mb, 0 表示无限制,范围 1024~4294967294M

4.4 配置dmwatcher.ini


修改dmwatcher.ini配置守护进程,配置为实时守护类型,使用自动切换模式。

vi /dm8/data/DAMENG/dmwatcher.ini

修改dmwatcher.ini配置守护进程,配置为实时守护类型,使用自动切换模式。

[GRP1]
DW_TYPE = GLOBAL #全局守护类型
DW_MODE = AUTO #自动切换模式
DW_ERROR_TIME = 10 #远程守护进程故障认定时间
INST_RECOVER_TIME = 60 #主库守护进程启动恢复的间隔时间
INST_ERROR_TIME = 10 #本地实例故障认定时间
INST_OGUID = 453331 #守护系统唯一 OGUID 值
INST_INI = /dm8/data/DAMENG/dm.ini #dm.ini 配置文件路径
INST_AUTO_RESTART = 1 #打开实例的自动启动功能
INST_STARTUP_CMD = /dm8/bin/dmserver #命令行方式启动
RLOG_SEND_THRESHOLD = 0 #指定主库发送日志到备库的时间阀值,默认关闭
RLOG_APPLY_THRESHOLD = 0 #指定备库重演日志的时间阀值,默认关闭

4.5 mount配置模式启动备库

./dmserver /dm8/data/DAMENG/dm.ini mount

 启动命令行工具disql,登录设置OGUID值为453331

SP_SET_PARA_VALUE(1, ‘ALTER_MODE_STATUS’, 1);
sp_set_oguid(453331);
SP_SET_PARA_VALUE(1, ‘ALTER_MODE_STATUS’, 0);

 修改数据库为 Standby 模式

alter database standby;

5、配置监视器

监视器(dmmonitor)是基于监视器接口实现的一个命令行工具,是DM数据守护系统的
重要组成部分。
通过监视器,可以监控数据守护系统的运行情况,获取主备库状态、守护进程状态以及
主备库数据同步情况等信息。同时,监视器(dmmonitor)还提供了一系列命令来管理数
据守护系统。
监视器的基本作用如下:
  1. 监控数据守护系统
  2. 管理数据守护系统
  3. 确认状态信息
  4. 发起故障自动接管命令
监视器支持两种运行模式:监控模式、确认模式。
该由配置文件(
dmmonitor.ini)的 MON_DW_CONFIRM参数来确定。
取值0:监控模式
取值1:确认模式
  • 确认模式和监控模式的区别在于,确认监视器还具有状态确认和自动接管两个功能。
  • 故障自动切换模式的数据守护系统,必须部署一个确认监视器,否则在出现数据库故障时,会导致数据库服务中断。
  • 在使用主备多实例监视器的情况下,确认监视器可以配置多个。
  • 除使用主备多实例监视器的情况外,一个数据守护系统只能配置一个确认监视器。

由于主库和实时备库的守护进程配置为自动切换模式,因此这里选择配置确认监视器。和普通监视器相比,确认监视器除了相同的命令支持外,在主库发生故障时,能够自动通知实时备库接管为新的主库,具有自动故障处理的功能。

vi /dm8/data/dmmonitor.ini

修改 dmmonitor.ini 配置确认监视器, 其中 MON_DW_IP 中的 IP 和 PORT 和dmmal.ini 中的 MAL_HOST 和 MAL_DW_PORT 配置项保持一致。

MON_DW_Confirm 			= 1  	#确认监视器模式
MON_LOG_PATH 			= /dm8/data/log		#监视器日志文件存放路径
MON_LOG_INTERVAL		= 60	#每隔60s定时记录系统信息到日志文件
MON_LOG_FILE_SIZE 		= 32	#每个日志文件最大32M
MON_LOG_SPACE_LIMIT 	= 0		#不限定日志文件总占用空间
[GRP1]
	MON_INST_OGUID 			= 453331 #组GRP1的唯一OGUID值
#以下配置为监视器到组GRP1的守护进程的连接信息,以“IP:PORT”的形式配置
#IP对应dmmal.ini中的MAL_HOST,PORT对应dmmal.ini中的MAL_DW_PORT
	MON_DW_IP 				= 192.168.158.130:52141
	MON_DW_IP 				= 192.168.158.131:52142

6、启动守护进程

启动各个主备库上的守护进程:

./dmwatcher /dm8/data/DAMENG/dmwatcher.ini

守护进程启动后,进入Startup状态,此时实例都处于Mount状态。守护进程开始广播自身和其监控实例的状态信息,结合自身信息和远程守护进程的广播信息,守护进程将本地实例Open,并切换为Open状态,如果在监视器中没有看见主备库处于Open状态,那就说明数据库状态存在问题。

7、启动监视器

./dmmonitor /dm8/data/dmmonitor.ini

监视器提供一系列命令,支持当前守护系统状态查看以及故障处理,可输入help命令,查看各种命令说明使用,结合实际情况选择使用。 至此实时守护类型的数据守护系统搭建完毕,在搭建步骤和各项配置都正确的情况下,在监视器上执行show命令,可以监控到所有实例都处于Open状态,所有守护进程也都处于Open状态,即为正常运行状态。

数据守护集群的关闭:

stop GROUP GRP1

至此数据守护集群搭建完毕。更多详细信息请参考达梦数据库官方社。

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq_44112838/article/details/126336457

智能推荐

2020车载凯立德懒人包下载_华为HarmonyOS App开发工具DevEco Studio下载安装及第一个HarmonyOS App实战教程...-程序员宅基地

文章浏览阅读234次。2020年9月10日,华为开发者大会发布了鸿蒙(HarmonyOS)2.0。HarmonyOS是一套全场景操作系统。从理论上讲,HarmonyOS可以在任何平台上运行(包括但不限于PC、手机、平板电脑、车载电脑、手表、iot设备等)。那么,想要在如此优秀的操作系统运行App,固然需要我们自己去手动开发。因此,华为也发布了自己的IDE,即HUAWEI DevEco Studio(以下简称D..._deveco studio车载系统在哪

linux kernel 之 工作队列_kernel队列-程序员宅基地

文章浏览阅读2.3k次。1. 什么是workqueueLinux中的Workqueue机制就是为了简化内核线程的创建。通过调用workqueue的接口就能创建内核线程。并且可以根据当前系统CPU的个数创建线程的数量,使得线程处理的事务能够并行化。workqueue是内核中实现简单而有效的机制,他显然简化了内核daemon的创建,方便了用户的编程.工作队列(workqueue)是另外一种将工作推后执行的形式.工_kernel队列

API:什么是API?API与interface的区别-程序员宅基地

文章浏览阅读4.4k次。  我们都知道,API就是接口,那是什么鬼呢?  1.什么是API?api接口开发,其实和平时开发逻辑差不多;但是也有略微差异;平时使用mvc开发网站的思路一般是都 由控制器 去 调用模型,模型返回数据,再由控制器把数据放到视图中,展现给用户;api开发是:使用控制器 去调用模型,模型返回数据,在有控制器 输出 json格式字符串 或者 XML 字符串,不用考虑视图,..._api和interface

vue 自定义Loading组件配合axios中使用_vue.prototype.$loading 在axios怎么取-程序员宅基地

文章浏览阅读527次。1.在components中创建Loading文件夹,然后在Loading中新建loading.vue文件<template> <div v-if="loading" class="shade"> <div class="sk-wave"> <div class="sk-rect sk-rect1"></div> <div class="sk-rect sk-rect2"></d_vue.prototype.$loading 在axios怎么取

Postman文件导入YAPI报错:解析数据为空_yapi导入数据时解析数据为空-程序员宅基地

文章浏览阅读672次,点赞4次,收藏3次。导出的postman V2转成V1。_yapi导入数据时解析数据为空

邮件发送与接收,支持163邮箱、outlook邮箱、exchange邮箱_. 集成&自动化中配置发送邮件节点,发件人邮箱账号支持哪些邮箱类型-程序员宅基地

文章浏览阅读2.5k次。邮件发送与接收,支持163邮箱、outlook邮箱、exchange邮箱依赖的jar包邮件收发公共服务层实现package com.example.demo.service.impl;import com.example.demo.model.EmailMessageBO;import com.example.demo.model.EmailSendBO;import com.example.demo.model.FileBean;import com.example.demo.serv_. 集成&自动化中配置发送邮件节点,发件人邮箱账号支持哪些邮箱类型

随便推点

常见的传输线阻抗计算软件(轉自笨笨熊的屋屋)-程序员宅基地

文章浏览阅读605次。1.Polar:http://www.polarinstruments.com/Si6000b是目前广泛使用的阻抗计算软件,Cits25的升级版,功能强大,不仅能正向计算阻抗和延迟,还能根据目标阻抗逆向计算其它参数,支持平面型的传输线和波导,包括:单端 表面微波传输带覆膜表面微波传输带嵌入式微波传输带对称带状线偏移(不对称)带状线差分 表面边缘耦合微波传..._cad design impedance calculator

第26期 Zotero,文献管理类,科研利器,文献收录能力意外惊喜,总之比我10年前在学校用的其他文献软件要方便强大很多。【体验100款文件管理工具】_科研文件管理软件-程序员宅基地

文章浏览阅读963次,点赞21次,收藏16次。Zotero是一款功能强大的免费开源文献管理软件,旨在帮助用户轻松管理和组织各种类型的研究资料。作为一款知识管理工具,Zotero可以帮助用户收集、整理和引用参考文献,从而提高学术写作和研究工作的效率。该软件支持多种操作系统,并提供灵活的文献云存储同步功能,让用户随时随地都能获取到他们需要的信息。通过Zotero,用户可以轻松管理各类参考文献和知识资源,极大地简化了学术研究过程中的信息管理工作。Zotero是一款功能强大的文献管理软件,具有自动化抓取参考文献信息、多种引用格式支持和文献云存储同步等特点。_科研文件管理软件

智能电网中多时段多公司需求响应管理的博弈理论框架 利用博弈论建立了一个考虑公司和消费者之间相互作用的多时期多公司需求响应框架-程序员宅基地

文章浏览阅读63次。为消费者所需的最低预算提供了一个条件,并使用现实数据进行案例研究,其中显示了高达30%的潜在节约和具有低波动性的均衡价格。在Stackelberg博弈中建立了相互作用的模型,公司设定价格,而消费者选择他们的需求作为回应。证明了潜在博弈具有一个独特的均衡,公司的收益最大化而消费者的效用最大化受当地约束。构造了一个具有唯一纯策略纳什均衡的权力分配博弈,并给出了该博弈的封闭形式表达式。也研究在周期的数量(时间范围的细分和消费者的数量变化的影响。给出了所有参与方的最优策略的封闭表达式。

C语言练习(函数指针)计算器的实现-程序员宅基地

文章浏览阅读230次,点赞11次,收藏8次。小小练习

机器人系统开发ros2-基础学习16-使用 rosdep 管理依赖关系

它是一个元包管理器,它使用自己的系统知识和依赖关系来查找要安装在特定平台上的适当包。rosdep通过检索本地计算机上的中央索引来工作,这样它就不必在每次运行时访问网络(在 Debian/Ubuntu 上,它的配置存储在/etc/ros/rosdep/sources.list.d/20-default.list)。上,还有另一个名称类似的软件包,称为python3-rosdep2.如果安装了该软件包,请确保在安装之前将其删除python3-rosdep。这是推荐的获取方式rosdep。