centos7部署RabbitMQ集群

3 篇文章 0 订阅

第1步-设置主机文件

1.我们将在所有服务器上编辑“ / etc / hosts”文件,并将每个服务器IP地址映射为主机名。

     vim /etc/hosts

    现在,在其中粘贴以下配置。

    10.0.15.21 node01

    10.0.15.22 node02

  10.0.15.22 node03

     把之前的主机名隐藏掉

     vim /etc/hostname  改成对于的主机名   reboot重启一下 服务器

第2步-安装RabbitMQ服务器

  1.将EPEL存储库添加到CentOS 7系统。

         sudo yum -y install epel-release

   2.现在,使用下面的yum命令将RabbitMQ Server安装到所有节点“ node01”,“ node02”和“ node03”。

     sudo yum -y install rabbitmq-server

   3.并且在安装完成后,启动RabbitMQ服务,并使它每次在系统引导时启动。

     sudo systemctl start rabbitmq-server

    sudo systemctl enable rabbitmq-server

    如果在这过程中启动报错 可以看一下启动的日记   systemctl status rabbitmq-server.service

    如果是链接不是其他几点 可以把上面的ip先切换成内网的ip 一般不会出现问题 

第3步-启用RabbitMQ管理插件

         在此步骤中,我们将启用RabbitMQ管理插件。这个界面允许您从Web浏览器监视和处理RabbitMQ服务器,该服务器在默认的TCP端口“ 15672”上运行。

         通过运行以下命令来启用RabbitMQ管理插件。

          sudo rabbitmq-plugins enable rabbitmq_management

     确保没有错误,然后重新启动RabbitMQ服务。

     sudo systemctl restart rabbitmq-server

     并且RabbitMQ管理已启用。查看一下是否启动 

     ps -ef|grep rabbit

第4步-配置CentOS Firewalld

         我们将打开使用RabbitMQ服务器'5672'的端口,用于RabbitMQ管理的端口'15672'和用于RabbitMQ集群的端口'4369,25672'

         1.前提服务器的防火墙已经启动了        

     sudo firewall-cmd --add-port=15672/tcp --permanent
     sudo firewall-cmd --add-port=5672/tcp --permanent
     sudo firewall-cmd --add-port={4369/tcp,25672/tcp} --permanent

    2.现在重新加载firewalld,并检查列表中所有打开的端口。
      sudo firewall-cmd --reload
      sudo firewall-cmd --list-all

    3.自己去后台安全组把对于的端口开起来。CentOS防火墙配置已完成,我们已经准备好设置RabbitMQ集群。

第5步-设置RabbitMQ集群

           1.为了设置RabbitMQ集群,我们需要确保所有节点上的'.erlang.cookie'文件都相同。

              如果你的ip是外网   使用来自“ node01”的scp命令复制“ .erlang.cookie”文件。

              scp /var/lib/rabbitmq/.erlang.cookie root@node02:/var/lib/rabbitmq/

      scp /var/lib/rabbitmq/.erlang.cookie root@node03:/var/lib/rabbitmq/

       如果你使用的ip的内网 自己去node01下面把.erlang.cookie”文件的值复制到node02,node03对于的文件下面 文件是隐藏文件 自己 ls -a 去看一下

       确保两台服务器上都没有错误。

       接下来,我们需要设置“ node02”和“ node03”以加入集群“ node01”。

      在“ node02”和“ node03”服务器上运行以下所有命令。

        1.重新启动RabbitMQ服务并停止该应用程序。

     sudo systemctl restart rabbitmq-server

     sudo rabbitmqctl stop_app

       如果这个地方重启报错 可能是权限的问题 走一下这命令

       chown rabbitmq:rabbitmq /var/lib/rabbitmq/.erlang.cookie

       2.现在,让两个节点上的RabbitMQ服务器加入“ node01”上的集群,然后启动应用程序。

       sudo rabbitmqctl join_cluster rabbit@node01

     sudo rabbitmqctl start_app

       3.完成后,检查RabbitMQ集群状态。

       sudo rabbitmqctl cluster_status

在这里插入图片描述
其他节点上也 可以运行一下 已创建RabbitMQ群集,其中node01,node02和node03为成员。
第6步-创建新的管理员用户

             我们将为RabbitMQ服务器创建一个新的admin用户,并删除默认的“ guest”用户。我们将从“ node01”创建一个新用户,并将其自动复制到集群中的所有节点

             1.添加一个名为“ hakase”的新用户,其密码为“ aqwe 123 @ ”。

        sudo rabbitmqctl add_user hakase aqwe123@

      2.将“ hakase”用户设置为管理员
        sudo rabbitmqctl set_user_tags hakase administrator
      
      3.并授予“ hakase”用户修改,写入和读取所有虚拟主机的权限。
        sudo rabbitmqctl set_permissions -p / hakase ".*" ".*" ".*"
    
      4.现在删除默认的“ guest”用户。
        sudo rabbitmqctl delete_user guest 
     
      5.并检查所有可用的用户
        sudo rabbitmqctl list_users

步骤7-RabbitMQ设置队列镜像

            必须进行此设置,我们需要配置“ ha策略”集群以进行队列镜像和复制到所有集群节点。如果承载队列主服务器的节点发生故障,则只要同步,则最早的镜像将升级为新的主服务器,具体取决于“ ha-mode”和“ ha-params”策略。

           1.设置名为“ ha-all”的ha策略,该策略将RabbitMQ集群上的所有队列镜像到集群上的所有节点。

              sudo rabbitmqctl set_policy ha-all ".*" '{"ha-mode":"all"}'

      2.设置名为“ ha-nodes”的ha策略,该策略的所有队列名称均以“ nodes”开头。将镜像到群集上的两个特定节点“ node02”和“ node03”。

        sudo rabbitmqctl set_policy ha-nodes "^nodes\." \

             '{"ha-mode":"nodes","ha-params":["rabbit@node02", "rabbit@node03"]}'

      3.检查所有可用策略。
        sudo rabbitmqctl list_policies;
 
      4.如果要删除该策略,请使用以下命令。
        
        sudo rabbitmqctl clear_policy ha-two

步骤8-测试 打开Web浏览器,然后键入端口为“ 15672”的节点的IP地址。

到此集群已经搭建完,可以打开ip+端口 输入用户名和密码 可以看到各个节点的情况
如果后期要增加集群的设备,只要增加每个集群的hosts里面的配置 把集群的策略删了 从新配置一下就行

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

主主主主公

你的鼓励将大动力作的最是我创

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值