• Linux 安装并搭建 3.10.7 RabbmitMQ 集群之搭建RabbitMq服务器(一)


    原文链接:Linux 安装并搭建 3.10.7 RabbmitMQ 集群之搭建RabbitMq服务器(一)

     

    关注公众号"超级IT人生"不走丢,查看最新技术文章

    RabbitMQ的应用和简介啥的就不说了,网上资料一大堆,本文将直接讲解在Centos 7 上搭建 RabbitMQ集群的方法。

    网上的资料绝大部分都是通过rpm安装的,rpm安装有个极大的问题,那就是依赖问题解决起来非常麻烦,因此本文采用源码安装的方式,安装过程中可能遇到的问题及解决方案在本文的最后面

    如果你已经成功搭建了一个RabbitMq,那么请继续下篇文章Linux 安装并搭建 3.10.7 RabbmitMQ 集群之搭建RabbitMq集群(二)

    0、安装前注意

    1、请关闭防火墙(如果自己测试的话最好关闭防火墙,线上的话按照RabbitMQ开启端口),关闭方式在文末有教程

    2、准备centos7

    一、更新linux依赖

    yum install -y make gcc gcc-c++ m4 openssl openssl-devel ncurses-devel unixODBC unixODBC-devel java java-devel socat

    二、安装Erlang环境

    RabbitMQ为Erlang语言开发,因此Centos 上必须先具备Erlang环境(类似于JDK环境一样),但是我们需要注意的是RabbitMQ必须和对应的Erlang版本对应,对应关系如下:

    如果想要更多的版本对应关系,请参考官方说明

    我们安装就使用最新的3.10.7 RabbitMQ,其对应的Erlang版本最低为24.2,最高为25.0

    下载Erlang

    访问Erlang官网:Downloads - Erlang/OTP ,或者git官方

    本次安装使用了最新的25.0.4来安装

    使用命令下载25.0.4版本的Erlang 源码包

    wget https://github.com/erlang/otp/releases/download/OTP-25.0.4/otp_src_25.0.4.tar.gz

    解压上面下载的文件

    tar -zxvf otp_src_25.0.4.tar.gz

    进入解压的目录并配置安装路径编译代码(此过程如出现问题,请参考文末的解决方案1

    cd otp_src_25.0.4 
    ./configure --prefix=/opt/erlang  #将会编译到这个目录

    执行编译(过程比较久,耐心等待

    make && make install

    配置环境变量(这只是临时配置,重启后就会没有了,需要再次配置,可以改为全局配置)

    export PATH=$PATH:/opt/erlang/bin

    查看erl版本

    erl

    出现如下结果证明已经安装准确的25.x版本的erlang

    Erlang/OTP 25 [erts-13.0.4] [source] [64-bit] [smp:1:1] [ds:1:1:10] [async-threads:1]

    三、安装rabbitMQ

    按照第一步rabbitMQ和erlang版本的对应关系,咱们可以安装最新的rabbitMq 3.10.7

    官方提供的可下载版本

    我们下载最新版本3.10.7,点击上面图中的3.0.7进入如下页面,拉到最下面,找到rabbitmq-server-generic-unix-3.10.7.tar.xz (注意,必须是下载这个,而不是rabbitmq-server-3.10.7.tar.xz,这个里面没有sbin目录,需要编译)

    wget https://github.com/rabbitmq/rabbitmq-server/releases/download/v3.10.7/rabbitmq-server-generic-unix-3.10.7.tar.xz

    解压压缩文件

    tar -xvf rabbitmq-server-generic-unix-3.10.7.tar.xz

    进入profile里面新建rabbitmq脚本进行配置(也可以直接通过echo来配置)

    cd /etc/profile.d/
    vim rabbitmq.sh

    在里面添加如下配置

    #!/bin/bash
    RABBIT_HOME=/home/software/rabbitmq_server-3.10.7  #/home/software是我解压的rabbitmq目录,改成你自己的就行
    PATH=$RABBIT_HOME/sbin:$PATH
    export PATH

    生效环境变量

    source /etc/profile

    启动rabbitMQ

    rabbitmq-server -detached

    查看rabbitMQ 服务状态

    rabbitmqctl status

    激活web管理功能

    rabbitmq-plugins enable rabbitmq_management

    此时,通过http://localhost:15672 或者 http://rabbitMqIP地址:15672就可访问到RabbitMq了

    默认的登录用户和密码是 guest,但是这个用户只限于Localhost登录,通过IP登录不可以,

    这种解决方法是添加其他账号

    补充(用户管理):

    # 添加 admin ⽤用户,密码设置为 admin 。
    rabbitmqctl add_user admin admin
    # 赋予权限
    rabbitmqctl set_user_tags admin administrator
    # 赋予 virtual host 中所有资源的配置、写、读权限以便管理其中的资源
    rabbitmqctl set_permissions -p / admin '.*' '.*' '.*'
    # 查看⽤户列列表
    rabbitmqctl list_users
    # 删除⽤用户,如果你想删除某个用户,可以执行该命令
    rabbitmqctl delete_user admin

    再次用admin admin登录rabbitmq,就能登录成功

    安装过程出现的问题及解决方案

    1、configure: error: Perl version 5 is required to build the emulator!

    配置需要至少版本为5的perl

    yum install perl

    检查perl版本号:

    perl -v

    出现如下说明版本符合要求

    This is perl 5, version 16, subversion 3 (v5.16.3) built for x86_64-linux-thread-multi
    (with 44 registered patches, see perl -V for more detail)

    2、关闭防火墙

    如果不关闭防火墙,安装并成功启动后,只能本机访问RabbitMq,也就是

    http://localhost:15672

    如果你想要在其他机器上访问,则需要将本机RabbitMq对应的端口开放,为了简省端口开放,咱们可以直接关闭防火墙(线上还是规规矩矩的只开放端口)

    查看防火墙状态

    systemctl status firewalld.service

    如返回内容展示有"active(running)",此时说明防火墙已经打开了,需要关闭,否则就是已经关闭了,无需再次关闭防火墙了

    关闭防火墙

    systemctl stop firewalld.service

    然后再次查看防火墙状态,这个时候就应该是Active: disavtive(dead)

    最后一步,永久关闭防火墙

    systemctl disable firewalld.service

    永久关闭后无需重启任何东西即可生效

  • 相关阅读:
    第十三届蓝桥杯c++b组-积木画
    【工程应用九】再谈基于离散夹角余弦相似度指标的形状匹配优化(十六角度量化+指令集加速+目标只有部分在图像内的识别+最小外接矩形识别重叠等)
    vue2.x与vue3.x中自定义指令详解
    C++中将指针传递给函数
    Nexus如何导入jar以及批量导入Maven的本地库目录
    vue eslint语法检查报错忽略
    小美的数组操作2---牛客周赛 Round 11
    【Spring】——11、了解BeanPostProcessor后置处理器
    Spring Boot + Vue的网上商城之客服系统实现
    Python 解释器和编译器
  • 原文地址:https://blog.csdn.net/u013611978/article/details/126758924