迁移元数据上云
迁移元数据上云是指将开源RabbitMQ集群的元数据导出,并将其导入到阿里云云消息队列 RabbitMQ 版实例。云消息队列 RabbitMQ 版会根据成功导入的元数据在目标云消息队列 RabbitMQ 版实例中创建对应的Vhost、Queue、Exchange、Binding,实现RabbitMQ集群元数据迁移上云。开源RabbitMQ支持导出全部Vhost或某个指定的Vhost元数据。
前提条件
背景信息
RabbitMQ集群元数据是指RabbitMQ集群的信息,包括User、Vhost、Queue、Exchange、RoutingKey、Permission、Parameter等信息。元数据存储于RabbitMQ集群的内部数据库,在集群的各个节点之间自动复制。集群内各节点的元数据内容都相同。
使用限制
由于RabbitMQ和云消息队列 RabbitMQ 版在权限管控机制等方面存在差异,rabbit_version
、users、permissions
、parameters
、global_parameters
和policies
元数据不支持导入云消息队列 RabbitMQ 版实例,在导入时会被自动忽略。
导出开源RabbitMQ元数据
在导出开源RabbitMQ集群元数据时,开源RabbitMQ支持导出全部Vhost或某个指定的Vhost元数据。
开源RabbitMQ控制台导出
在浏览器中打开开源RabbitMQ控制台。
开源RabbitMQ控制台地址:
http://您的RabbitMQ IP地址:15672/
在登录页面的Username文本框输入您的用户名,在Password文本框输入您的密码,然后单击Login。
在Overview页签下方,单击Export definitions,从Virtual host列表选择All或者指定的Vhost名称,然后单击Download broker definitions。
Virtual host列表参数说明如下:
All:表示导出全部Vhost元数据。
Vhost名称:表示导出指定Vhost元数据。
将下载的元数据文件保存至本地。
开源RabbitMQ HTTP API导出
打开终端。
执行以下命令导出RabbitMQ集群元数据文件。
导出全部Vhost元数据
wget --user <您的RabbitMQ账号> --password <您的RabbitMQ密码> http://<您的RabbitMQ IP地址>:15672/api/definitions -O <您的元数据文件保存路径>
导出指定Vhost元数据
wget --user <您的RabbitMQ账号> --password <您的RabbitMQ密码> http://<您的RabbitMQ IP地址>:15672/api/definitions -O <您的元数据文件保存路径> --vhost <Vhost名称>
将元数据导入云消息队列 RabbitMQ 版
登录云消息队列 RabbitMQ 版控制台,在左侧导航栏,单击迁移上云。
在迁移上云页面顶部菜单栏选择地域,然后在页面左上角单击创建任务。
在创建任务面板,设置相关参数,单击确定。
参数
描述
示例值
实例
元数据要迁移到的目标实例名称。
amqp-cn-7mz2cjgk****
导入模式
ALL:将开源RabbitMQ全部Vhost元数据导入云消息队列 RabbitMQ 版实例。
Vhost:将开源RabbitMQ指定Vhost元数据导入云消息队列 RabbitMQ 版实例的Vhost中。
Vhost
Vhost
迁移元数据至 云消息队列 RabbitMQ 版实例指定的Vhost。 导入模式选择Vhost时,显示该参数。
test-vhost****
元数据
需要迁移的元数据文件。单击选择文件,选择本地的元数据文件后,单击打开。
说明元数据文件的大小不超过20 MB。
rabbit_mq-amqp-load-test011122063****
通过创建任务迁移的元数据,支持查看元数据的详细信息和任务执行失败时的失败原因。
查看导入成功的元数据信息
在迁移上云页面,目标任务所在行目标实例列,单击实例名称。
在左侧导航栏,单击Vhost 列表,目标Vhost所在行操作列,单击详情,查看Vhost详细信息。
更多信息,请参见查看Vhost连接详情。
查看执行失败的任务详情
在迁移上云页面,目标任务所在行操作列,单击详情。
您也可以在迁移上云页面,目标实例所在行同步元数据数量列,单击同步数量。
在迁移详情页面,单击Vhost、Exchange、Queue、Binding对应的页签,查看失败原因。