• Rabbitmq入门教程


    目录

    一.简介

    二.安装

    1.Erlang安装

    2.安装rabbitmq

    3.集群配置(3台服务器)


    一.简介

    RabbitMQ是一个消息代理 - 一个消息系统的媒介。它可以为你的应用提供一个通用的消息发送和接收平台,并且保证消息在传输过程中的安全。由erlang语言开发,基于AMQP(Advanced Message Queue 高级消息队列协议)协议实现的消息队列。

    二.安装

    1.Erlang安装

    yum install make gcc gcc-c++ kernel-devel m4 ncurses-devel openssl-devel unixODBC.x86_64 unixODBC-devel.x86_64 gtk3-devel.x86_64 fop.noarch whatprovides autoconf automake -y
    yum install whatprovides autoconf automake -y

    wget https://github.com/erlang/otp/archive/refs/tags/OTP-23.2.1.tar.gz
    tar xf OTP-23.2.1.tar.gz
    mv otp-OTP-23.2.1 erlang
    cd erlang/
    ./otp_build autoconf
    ./configure --prefix=/usr/local/erlang
    make && make install

    #配置Erlang 环境变量
    #编辑
    vim /etc/profile
    export PATH=$PATH:/rabbitmq/erlang/bin

    source /etc/profile

    #测试
    [root@ks02 bin]# erl
    Erlang/OTP 23 [erts-11.1.5] [source] [64-bit] [smp:2:2] [ds:2:2:10] [async-threads:1] [hipe]

    Eshell V11.1.5 (abort with ^G)
    1>

    2.安装rabbitmq

    #安装rabbitmq

    wget https://github.com/rabbitmq/rabbitmq-server/releases/download/v3.9.2/rabbitmq-server-3.9.2-1.el8.noarch.rpm
    rpm -ivh --nodeps ./rabbitmq-server-3.8.3-1.el7.noarch.rpm

    #安装web管理插件
    rabbitmq-plugins enable rabbitmq_management

    #启动失败,无erlang环境
    systemctl start rabbitmq-server.service

    #问题处理,添加erlang环境变量
    vim +187 /usr/lib/rabbitmq/bin/rabbitmq-server
    export PATH=$PATH:/rabbitmq/erlang/bin

    #启动成功
    systemctl start rabbitmq-server.service
    systemctl stop rabbitmq-server.service

    3.集群配置(3台服务器)

    #本集群由三台服务器组成,先确保三台服务器分别按照Rabbit单机安装方式安装成功,再进行以下操作。

    #设置Erlang Cookie(设置不同节点间同一认证的Erlang Cookie)
    #将作为主节点的Erlang Cookie复制到其他两个节点上

    #首先备份
    mv /var/lib/rabbitmq/.erlang.cookie /var/lib/rabbitmq/.erlang.cookie.bak

    chmod 700 /var/lib/rabbitmq/.erlang.cookie
    scp /var/lib/rabbitmq/.erlang.cookie RBMQ2:/var/lib/rabbitmq/
    scp /var/lib/rabbitmq/.erlang.cookie RBMQ3:/var/lib/rabbitmq/

    #设置权限
    chmod 400 /var/lib/rabbitmq/.erlang.cookie
    chown rabbitmq /var/lib/rabbitmq/.erlang.cookie
    chgrp rabbitmq /var/lib/rabbitmq/.erlang.cookie

    #三台服务器分别执行:
    rabbitmq-server -detached

    #在其他两台从节点执行

    [root@tv7-rabbit-mq-7aea3ef8 rabbitmq]# rabbitmqctl stop_app
    Stopping rabbit application on node rabbit@tv7-rabbit-mq-7aea3ef8 …

    #连接集群(rabbit@tv7-rabbit-mq-46b9814a:主节点的rabbit@host)
    rabbitmqctl join_cluster rabbit@tv7-rabbit-mq-46b9814a

    #启动集群
    rabbitmqctl start_app

    #查看状态
    rabbitmqctl cluster_status

  • 相关阅读:
    [C++随想录] 优先级队列
    介孔二氧化硅纳米球 Mesoporous silica nanosphere 的介孔二氧化硅纳米球
    J2EE--自定义mvc增删改查
    坚持自主创新 线控底盘领军企业英创汇智获数亿元B+轮融资
    【算法】Reverse Integer
    很强,我终于找到绘制E-R图的正确姿势
    我为什么错怪了goroutine
    Spring 事务相关
    京东二面:Redis为什么快?我说Redis是纯内存访问的,然后他对我笑了笑。。。。。。
    解决MySQL数据库拒绝远程计算机连接问题
  • 原文地址:https://blog.csdn.net/web17886480312/article/details/126585316