美文网首页
rabbitmq3.8.2安装步骤及集群配置

rabbitmq3.8.2安装步骤及集群配置

作者: uniqueway | 来源:发表于2020-02-17 00:06 被阅读0次

    1、安装erlang22.1

    参考我之前的文章即可(https://www.jianshu.com/p/2187e03ad126
    ),由于最新版官网比较慢,特意准备了百度网盘链接:
    链接: https://pan.baidu.com/s/1iYK7ejegd54H3wM1xXNDcw 提取码: gd8t

    2、安装Rabbitmq 3.8

    这一步主要参考官网的步骤,具体如下:

    2.1 安装Erlang的环境-之前我们已经安装了,但是这里可以把rabbitmq的依赖包都安装了,如果跳过次步,将缺少依赖无法安装

    创建 /etc/yum.repos.d/rabbitmq_erlang.repo 文件,内容如下:

    [rabbitmq_erlang]
    name=rabbitmq_erlang
    baseurl=https://packagecloud.io/rabbitmq/erlang/el/7/$basearch
    repo_gpgcheck=1
    gpgcheck=0
    enabled=1
    gpgkey=https://packagecloud.io/rabbitmq/erlang/gpgkey
    sslverify=1
    sslcacert=/etc/pki/tls/certs/ca-bundle.crt
    metadata_expire=300
    
    [rabbitmq_erlang-source]
    name=rabbitmq_erlang-source
    baseurl=https://packagecloud.io/rabbitmq/erlang/el/7/SRPMS
    repo_gpgcheck=1
    gpgcheck=0
    enabled=1
    gpgkey=https://packagecloud.io/rabbitmq/erlang/gpgkey
    sslverify=1
    sslcacert=/etc/pki/tls/certs/ca-bundle.crt
    metadata_expire=300
    

    安装erlang

    yum install erlang -y
    
    2.2 安装RabbitMQ服务

    2.2.1 导入mq签名

    rpm --import https://github.com/rabbitmq/signing-keys/releases/download/2.0/rabbitmq-release-signing-key.asc
    

    2.2.2 添加rabbitmq.repo文件-此处可参看官网(https://www.rabbitmq.com/install-rpm.html
    ),我这边服务器是centos7,故rabbitmq.repo写入如下内容:

    [bintray-rabbitmq-server]
    name=bintray-rabbitmq-rpm
    baseurl=https://dl.bintray.com/rabbitmq/rpm/rabbitmq-server/v3.8.x/el/7/
    gpgcheck=0
    repo_gpgcheck=0
    enabled=1
    

    2.2.3 安装rabbitmq服务

    yum install rabbitmq-server -y
    

    2.2.4 启动服务并设置开机自启动

    systemctl start rabbitmq-server 
    systemctl enable rabbitmq-server
    

    2.2.5 开启管理界面
    这一点 方便我们通过url访问查看运行情况,阿里云服务器安全里一定要开启15672端口

    rabbitmq-plugins enable rabbitmq_management
    

    在此我们还需要新增一个用户作为管理员
    添加用户 -用户名 密码自己定

    rabbitmqctl add_user username passwd
    

    修改用户角色为管理员- 把下面username改成自己的用户名

    rabbitmqctl set_user_tags username administrator
    

    修改用户权限

    rabbitmqctl set_permissions -p / username ".*" ".*" ".*"
    

    自此 你可以通过ip:15672的方式访问RabbitMQ后台

    2.3 rabbitmq集群 也是本文最重要的部分

    目前我是有两台阿里云的,同一区的服务器,内网可访问。
    2.3.1 修改hostname -服务器别名,方便我们后面两个mq服务连接
    vi /etc/hosts 新增node1和node2 两个内网ip

    172.26.184.179  node2
    172.26.184.178  node1
    

    原以为OK了,重启还是老样子,其实centos7 还提供了一步方法

    hostnamectl set-hostname node2
    

    直接修改成功了!
    2.3.2 Erlang cookie设置,这里最坑,困了我好久,有必要总结一下
    确保node1与node2两个服务器的.erlang.cookie保持一致
    找到node1服务器的.erlang.cookie,位置如下:
    /var/lib/rabbitmq/.erlang.cookie
    然后复制内容到node2服务器对应的.erlang.cookie
    修改好后,记得还原权限400

    chmod 400 /var/lib/rabbitmq/.erlang.cookie
    

    修改完后 一定要重启node1与node2服务器,这样修改才能生效。之前一直困扰我的node2连接不上node1的mq服务,一直提示cookie有问题,重启mq服务也没用,重启服务器 reboot后问题就可以解决,切莫少了这步。
    出现的问题如下:
    TCP connection succeeded but Erlang distribution failed
    Authentication failed (rejected by the remote node), please check the Erlang cookie
    那就执行重启命令吧!一切解决!

    reboot
    

    2.3.3 加入mq集群
    node1 mq服务设置后台执行

    rabbitmqctl stop
    rabbitmq-server -detached
    

    可以查看目前 node1的mq状态

    rabbitmqctl cluster_status
    

    node2 加入node1的MQ集群,关键时刻了!

    rabbitmqctl stop_app
    rabbitmqctl join_cluster rabbit@node1
    rabbitmqctl start_app
    

    配置好MQ集群后,可以在 node1、node2服务器上任意执行 rabbitmqctl cluster_status 来查看MQ集群是否配置成功
    如下图所示:


    查看MQ集群状态

    这里就彻底成功了!现在直接通过url访问看一下是否正常可以显示两个mq服务:


    集群界面
    最后,祝大家安装一切顺利!

    相关文章

      网友评论

          本文标题:rabbitmq3.8.2安装步骤及集群配置

          本文链接:https://www.haomeiwen.com/subject/aslvfhtx.html