消息队列 rabbitmq 集群

1 简介

       RabbitMQ是流行的开源消息队列系统,用erlang语言开发。RabbitMQ是AMQP(高级消息队列协议)的标准实现。

       RabbitMQ是一个开源的AMQP实现,服务器端用Erlang语言编写,支持多种客户端,如Python、Ruby、.NET、Java、JMS、C、PHP、ActionScript、XMPP、STOMP等,支持AJAX。用于在分布式系统中存储转发消息,在易用性、扩展性、高可用性等方面表现不俗。 

2 安装准备  

    2.1 需要两台虚拟机:

         192.168.92.66 node01

         192.168.92.67 node02

         并修改对应的ip 主机名配置到/etc/hosts文件中 

    2.2 安装包:

         官网下载安装包(注意下载安装包时一定要注意erlang cookie和rabbitmq版本要一直,否则安装时一直会提示erlang cookie版本低的问题)

扫描二维码关注公众号,回复: 5135442 查看本文章

         本人使用的稳定版本: rabbitmq-server-3.7.6-1.el7.noarch.rpm    erlang-20.3.7-1.el7.centos.x86_64.rpm

         如果使用的Contos精简版的话 还需要下载基础包

         本人使用Centos7精简版需要安装的基本包如下

             yum install -y iptables-services tar net-tools  gcc

3 集群搭建

     3.1 修改hosts配置文件

           vi /etc/hosts 

           将192.168.92.66 node01 192.168.92.67 node02加入到hosts文件中

     3.2 安装erlang cookie

            cd /app/rabbitmq/installFile  找到安装文件

            rpm -ivh erlang-20.3.7-1.el7.centos.x86_64.rpm   安装erlang cookie

             erl  验证erlang cookie是否安装成功

      3.3 安装rabbitmq

              cd /app/rabbitmq/installFile   找到安装文件

              yum install -y rabbitmq-server-3.7.6-1.el7.noarch.rpm  安装rabbitmq

              使用yum安装rabbitmq,默认安装目录如下:

                      安装目录:/usr/lib/rabbitmq

                      日志目录:/var/log/rabbitmq

                      erlang cookie文件:/var/lib/rabbitmq/.erlang.cookie (注意:这个文件只有安装了rabbitmq后有

                cd /usr/lib/rabbitmq/bin  进入rabbitmq命令目录

                 rabbitmq-plugins enable rabbitmq_management  安装rabbtimq客户端管理工具

                  rabbitmq-server -detached 启动rabbitmq

                   创建账户并分配外网访问权限(默认的guest账户外网无法访问)

                    rabbitmqctl add_user admin admin
                    rabbitmqctl set_user_tags admin administrator  
                    rabbitmqctl set_permissions -p "/" admin ".*" ".*" ".*" 

                   开放防火墙端口(防火墙端口不开放无法访问)

                    systemctl start firewalld
                    firewall-cmd --add-port=15672/tcp --permanent
                    firewall-cmd --add-port=25672/tcp --permanent     
                    firewall-cmd --add-port=4369/tcp --permanent
                    firewall-cmd --add-port=5671/tcp --permanent
                    firewall-cmd --add-port=5672/tcp --permanent
                    firewall-cmd --reload

                    验证安装是否成功

                   http://192.168.92.66:15672

              同理在另一台机器上安装 

        3.4 集群搭建

                  登陆192.168.92.67虚拟机

                  cd /usr/lib/rabbitmq/bin  进入rabbitmq命令目录

                 rabbitmqctl stop   关闭rabbitmq服务(这一步很重要,如果你不关闭服务器的话,后面从node01中复制erlang cookie后服务器将无法关闭和重启 会报erlang cookie不一致问题)

                scp -r root@node01:/var/lib/rabbitmq/.erlang.cookie  / var/lib/rabbitmq   将node节点中的erlang cookie复制到node02节点上(保证两台机器的erlang cookie一致  因为两台机器之间的通讯就是通过erlang cookie实现的)

                 chown rabbitmq:rabbitmq /var/lib/rabbitmq/.erlang.cookie   修改erlang cookie文件的所有用户和组(因为复制过来的文件默认用户和组有可能是  root:root,因此需要修改)

                   rabbitmq-server -detached 开启rabbitmq服务

                   rabbitmqctl stop_app 关闭应用服务   (注意关闭rabbitmq服务和关闭应用服务的区别)

                   rabbitmqctl join_cluster rabbit@node01 将node02节点添加的node01的集群中

                   rabbitmqctl start_app  开启应用服务

                   rabbitmqctl status  可以看到集群中多了一个节点node02

         登录rabbitMq管理界面查看192.168.92.66:15672  或者 192.168.92.67:15672

                

               

            

           

           

猜你喜欢

转载自blog.csdn.net/chuanxincui/article/details/82804265