---
title: RabbitMQ迁移至RabbitMQ指导
description: "1. 下载Erlang源码包(https://github.com/erlang/otp/releases/download/OTP-24.3.4.4/otp_src_24.3.4.4.tar.gz)和RabbitMQ源码包(https://github.com/rabbitmq/rabbitmq-server/releases/download/v3.9.28/rabbitmq-server-generic-unix-3.9.28.tar.xz)。"
url: https://www.hikunpeng.com/document/detail/zh/kunpengdevps/portingadvisor/systemmigration/DevKit_Porting_0126.html
sourcePath: /source/zh/kunpengdevps/portingadvisor/systemmigration/DevKit_Porting_0126.html
indexId: 6699dee781c97ef267e56af0ddb08ab98638b922edc73694739b0ed1f2b7184a79
---
# RabbitMQ迁移至RabbitMQ指导

1. 下载Erlang源码包(https://github.com/erlang/otp/releases/download/OTP-24.3.4.4/otp_src_24.3.4.4.tar.gz)和RabbitMQ源码包(https://github.com/rabbitmq/rabbitmq-server/releases/download/v3.9.28/rabbitmq-server-generic-unix-3.9.28.tar.xz)。
2. 上传并解压Erlang和RabbitMQ源码包，以上传至/opt为例。
  1 2 tar -xzvf otp_src_24.3.4.4.tar.gz tar -Jxvf rabbitmq-server-generic-unix-3.9.28.tar.xz

3. 安装Erlang所需的依赖包，以麒麟系统为例。
  1 yum -y install glibc-headers autoconf automake pkgconfig bison flex openssl openssl-devel unixODBC unixODBC-devel make gcc gcc-c++ kernel-devel m4 ncurses-devel tk tc xz glibc-devel xmlto perl gtk2-devel binutils-devel

4. 编译安装Erlang。
  创建并配置Erlang安装路径，以“/opt/erlang”为例。若安装过程中提示依赖不存在，请根据提示安装缺失依赖。

```
cd
/opt
/otp_src_24.3.4.4
mkdir
/opt/erlang
./configure --prefix=
/opt/erlang
make -j4 && make install
```


5. 配置Erlang和RabbitMQ的安装路径。

  a. 打开“/etc/profile”配置文件。
    1 vi /etc/profile

  b. 按“i”进入编辑模式，增加如下内容。

```
export PATH=
/opt/erlang/
bin:$PATH
export PATH=
/opt
/rabbitmq_server-3.9.28/sbin:$PATH
```


  c. 按“Esc”，输入:wq!，按“Enter”保存并退出。
  d. 使环境变量生效。
    1 source /etc/profile

6. 启用页面管理功能并启动RabbitMQ。
  1 2 3 cd rabbitmq_server-3.9.28/sbin ./rabbitmq-plugins enable rabbitmq_management ./rabbitmq-server

  若结果出现RabbitMQ的版本信息，且最后显示为“Starting broker… completed with 3 plugins.”，则表示RabbitMQ安装成功。

7. 迁移配置文件、数据文件和日志文件。
源机上的RabbitMQ配置文件、数据文件和日志文件的默认路径如下：
```
/etc/rabbitmq
/var/lib/rabbitmq
/var/log/rabbitmq
```


  - 若源机上为RPM方式安装，则上述三个文件默认存放在根目录下；若为源码编译安装，则上述三个文件存放在安装的源码包文件目录中。
  - 目标机上使用源码包进行编译安装，其配置文件、数据文件和日志文件存放在源码包rabbitmq_server-3.9.28的相应目录下。
以上述路径为例，将源机路径/etc、/var/lib和/var/log下的rabbitmq文件夹分别拷贝并覆盖到目标机上的“/opt/rabbitmq_server-3.9.28/etc/rabbitmq”、“/opt/rabbitmq_server-3.9.28/var/lib/rabbitmq”和“/opt/rabbitmq_server-3.9.28/var/log/rabbitmq”文件夹。
8. 若源机与目标机的主机名不一致，则需修改目标机主机名。

  a. 在目标机的“/opt/rabbitmq_server-3.9.28/etc/rabbitmq”目录下，新建rabbitmq-env.conf配置文件。
    1 vi rabbitmq-env.conf

  b. 按“i”进入编辑模式，增加如下内容。server表示源机主机名。

```
NODENAME=rabbit@
server
```


  c. 按“Esc”，输入:wq!，按“Enter”保存并退出。
  d. 更改目标机主机名为源机名。

```
hostnamectl set-hostname
server
```


9. 开启防火墙端口。
  1 2 firewall-cmd --add-port=15672/tcp --permanent firewall-cmd --reload

  --permanent为永久设定，需自行确认是否符合安全规范。若不设定此选项，将在firewalld重启后失效。

10. 启动目标机上的RabbitMQ，浏览器访问http://IP地址:15672并使用源机上RabbitMQ的用户名和密码登录，若源机创建的交换机、消息队列和收发的消息数据均在，并能正常收发消息，则说明迁移成功。
