Rabbitmq在ubuntu1804系统上的部署

 

一:单机部署RabbitMQ服务

  1:服务器的配置,主要修改本地的地址解析和唯一的主机名,见下图

    

    唯一主机名,如下

    

   2:开始安装RabbitMQ服务器,具体的安装步骤可以见官网,连接如下   

https://www.rabbitmq.com/install-debian.html

    官网安装步骤明细如下: 

#!/bin/sh

## If sudo is not available on the system,
## uncomment the line below to install it
# apt-get install -y sudo

sudo apt-get update -y

## Install prerequisites
sudo apt-get install curl gnupg -y

## Install RabbitMQ signing key
curl -fsSL https://github.com/rabbitmq/signing-keys/releases/download/2.0/rabbitmq-release-signing-key.asc | sudo apt-key add -

## Install apt HTTPS transport
sudo apt-get install apt-transport-https

## Add Bintray repositories that provision latest RabbitMQ and Erlang 23.x releases
sudo tee /etc/apt/sources.list.d/bintray.rabbitmq.list <<EOF
## Installs the latest Erlang 23.x release.
## Change component to "erlang-22.x" to install the latest 22.x version.
## "bionic" as distribution name should work for any later Ubuntu or Debian release.
## See the release to distribution mapping table in RabbitMQ doc guides to learn more.
deb https://dl.bintray.com/rabbitmq-erlang/debian bionic erlang
## Installs latest RabbitMQ release
deb https://dl.bintray.com/rabbitmq/debian bionic main
EOF

## Update package indices
sudo apt-get update -y

## Install rabbitmq-server and its dependencies
sudo apt-get install rabbitmq-server -y --fix-missing

  通过上述步骤,即可安装好RabbitMQ服务

  3:启动RabbitMQ服务,并设置开机服务,如下

root@mq-server1:~# systemctl    start    rabbitmq-server

root@mq-server1:~# systemctl    enable rabbitmq-server

  

 

  4:开启web界面管理插件,见下图

    

 

     5:登录web管理界面,见下图,在默认的情况下,禁止使用guest账户登录,具体报错见下图

    

    解除禁制登录,只需要在配置文件中修改信息如下:

root@mq-server1:~# vim /usr/lib/rabbitmq/lib/rabbitmq_server-3.7.22/ebin/rabbit.app    
{loopback_users, []},   #删除被禁止登陆的guest账户


#重启rabbitmq服务
root@mq-server1:~#systemctl restart rabbitmq-server.service

  

    

  6:重启服务,并在web界面登录,见下图

      

   根据上图可知,RabbitMQ服务安装成功

 

 二:RabbitMQ配置集群

  Rabbitmq集群分为二种方式:

      普通模式:创建好RabbitMQ之后的默认模式。

      镜像模式:把需要的队列做成镜像队列。  

  环境准备:有三台服务器,分别都安装好RabbitMQ服务

  三台服务器IP:

192.168.37.16
192.168.37.17
192.168.37.18

  三台服务器MQ服务器配置本地主机名解析:

192.168.37.16 mq-server1 mq-server1.fairies.net
192.168.37.16 mq-server2 mq-server2.fairies.net
192.168.37.16 mq-server3 mq-server3.fairies.net

  1:Rabbitmq服务的安装见单机部署

  2:三台服务器分别启动Rabbitmq,并设置开机启动,如下

  

root@mq-server1:~# systemctl start rabbitmq-server
root@mq-server1:~# systemctl enable rabbitmq-server
Synchronizing state of rabbitmq-server.service with SysV service script with /lib/systemd/systemd-sysv-install.
Executing: /lib/systemd/systemd-sysv-install enable rabbitmq-server



root@mq-server2:~# systemctl start rabbitmq-server
root@mq-server2:~# systemctl enable rabbitmq-server
Synchronizing state of rabbitmq-server.service with SysV service script with /lib/systemd/systemd-sysv-install.
Executing: /lib/systemd/systemd-sysv-install enable rabbitmq-server


root@mq-server3:~# systemctl start rabbitmq-server
root@mq-server3:~# systemctl enable rabbitmq-server
Synchronizing state of rabbitmq-server.service with SysV service script with /lib/systemd/systemd-sysv-install.
Executing: /lib/systemd/systemd-sysv-install enable rabbitmq-server

  

  3:创建Rabbitmq集群,

    Rabbitmq的集群是依赖于erlang的集群来工作的,所以必须先构建起erlang的集群环境,而Erlang的集群中各节点是通过一个magic cookie来实现的,这个cookie存放在/var/lib/rabbitmq/.erlang.cookie 中,文件是400的权限,所以必须保证各节点cookie保持一 致,否则节点之间就无法通信。
    由于集群有三台服务器,所以只需要把其中一台服务里的cookie文件拷贝到其他另外两台机器里即可,
    拷贝的过程中,必须要把RabbitMQ服务关闭,下图以主机16的文件拷贝到主机17,18机器上为例
    
主机2

root@mq-server2:~# rabbitmqctl stop_app
Stopping rabbit application on node rabbit@mq-server2 ...



主机3:
root@mq-server2:~# rabbitmqctl stop_app
Stopping rabbit application on node rabbit@mq-server2 ...

  

   文件的拷贝

   

  分别启动17,18两台机器的RabbitMQ服务,如下

  

 4:创建集群,并把两外两台主机添加到另外一台机器里,

  在mq-server2作为内存节点连接起来,并作为内存节点,在mq-server2执行以下命令,见下图

  

在mq-server3作为内存节点连接起来,并作为内存节点,在mq-server3执行以下命令,见下图

  

  集群添加好后,重启服务,见下图

    

5:登录web界面进行验证,如下图

  

    在192.168.37.18机器上发现有三台设备的节点信息,说明集群添加成功,但是上图配置的集群只是普通的集群,只要一台机器宕机或者RabbitMQ服务停机,数据就会丢失,下面介绍怎么配置镜像模式集群

6:配置镜像模式集群

  三台机器,只要在任何一台机器上执行以下命令,就把模式设置城镜像模式,如下图

    

6:1:对镜像模式进行验证,在三台机器的任何一台上添加账户,另外两台都可以查看,说明设置成功,以下以192.168.37.18主机添加账户为例,见下图

  

    

  

  根据上图步骤,创建并查看用户,创建yangjie用户成功

  在16,17机器上验证,见下图

  

 

    

 

      由以上可知,RabbitMQ服务集群搭建成功!

 

posted @ 2020-09-03 21:36  Molson  阅读(350)  评论(0编辑  收藏  举报