鲲鹏社区首页
中文
注册
开发者
我要评分
获取效率
正确性
完整性
易理解
在线提单
论坛求助

RabbitMQ迁移至RabbitMQ指导

  1. 下载Erlang源码包RabbitMQ源码包
  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 build-essential 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的安装路径。
    1. 打开“/etc/profile”配置文件。
      1
      vi /etc/profile
      
    2. 按“i”进入编辑模式,增加如下内容。
      export PATH=/opt/erlang/bin:$PATH
      export PATH=/opt/rabbitmq_server-3.9.28/sbin:$PATH
    3. 按“Esc”,输入:wq!,按“Enter”保存并退出。
    4. 使环境变量生效。
      1
      source /etc/profile
      
  6. 启用页面管理功能并启动RabbitMQ。
    1
    2
    3
    cd rabbitmq_server-3.9.28/sbin
    ./rabbitmq-plugins enable rabbitmq_management
    ./rabbitmq-server start
    

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

  7. 迁移配置文件、数据文件和日志文件。

    源机上的RabbitMQ配置文件、数据文件和日志文件的默认路径如下:

    1
    2
    3
    /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. 若源机与目标机的主机名不一致,则需修改目标机主机名。
    1. 在目标机的“/opt/rabbitmq_server-3.9.28/etc/rabbitmq”目录下,新建rabbitmq-env.conf配置文件。
      1
      vi rabbitmq-env.conf
      
    2. 按“i”进入编辑模式,增加如下内容。server表示源机主机名。
      NODENAME=rabbit@server
    3. 按“Esc”,输入:wq!,按“Enter”保存并退出。
    4. 更改目标机主机名为源机名。
      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的用户名和密码登录,若源机创建的交换机、消息队列和收发的消息数据均在,并能正常收发消息,则说明迁移成功。