美文网首页
RabbitMQ安装 - 集群

RabbitMQ安装 - 集群

作者: heichong | 来源:发表于2020-03-13 15:38 被阅读0次
  • 操作系统Ubuntu 16.04.1
  • 搭建集群前,请先安装RabbitMQ,安装教程请参考上篇文章。

1. 准备

  • 准备三台机器
机器 名称
192.168.16.6 VM-16-6-ubuntu
192.168.16.5 VM-16-5-ubuntu
192.168.16.9 VM-16-9-ubuntu

在这三台机器上安装RabbitMQ,安装教程请参考上篇文章。

2. 同步hosts

RabbitMQ是通过机器名进行通信
修改host文件sudo vi /etc/hosts,三台机器均配置

#rabbitmq
192.168.16.6 VM-16-6-ubuntu
192.168.16.5 VM-16-5-ubuntu
192.168.16.9 VM-16-9-ubuntu

3. 同步 erlang.cookie

RabbitMQ基于erlang进行分布式通信,一个集群内的.erlang.cookie必须完全一致。
.erlang.cookie文件位置/var/lib/rabbitmq/.erlang.cookie
这里我们把其中一台机器上的cookie文件同步到其他两台上去

sudo scp /var/lib/rabbitmq/.erlang.cookie ubuntu@192.168.16.9:/home/ubuntu/
sudo scp /var/lib/rabbitmq/.erlang.cookie ubuntu@192.168.16.5:/home/ubuntu/

分别进入到另外两台机器上执行以下命令:

sudo cp .erlang.cookie /var/lib/rabbitmq/.erlang.cookie

重启三台机器的RabbitMQ

 sudo service rabbitmq-server restart 

如果你的root可以远程登录,那同步文件的过程就可以稍微简单些

4. 组成集群

集群节点分为磁盘节点(默认)和内存节点。我们把VM-16-6-ubuntuVM-16-5-ubuntu作为磁盘节点,VM-16-9-ubuntu作为内存节点
我们以VM-16-6-ubuntu作为机器主节点,让VM-16-5-ubuntuVM-16-9-ubuntu加入VM-16-6-ubuntu的集群

  • VM-16-5-ubuntu上执行:
sudo rabbitmqctl stop_app
sudo rabbitmqctl join_cluster --disc rabbit@VM-16-6-ubuntu
sudo rabbitmqctl start_app

--disc代表以磁盘节点的方式加入集群

  • VM-16-9-ubuntu上执行:
sudo rabbitmqctl stop_app
sudo rabbitmqctl join_cluster --ram rabbit@VM-16-6-ubuntu
sudo rabbitmqctl start_app

--ram代表以内存节点的方式加入集群

通过以下命令可以查看集群的状态

sudo rabbitmqctl cluster_status

组成集群后,节点会记住集群相关信息。以后重启节点时,不需要再次执行以上命令

5. 启用manager ui

切换到root账号,来启用manager ui插件,三台机器均执行以下命令

rabbitmq-plugins enable rabbitmq_management

rabbitmq-plugins命令必须使用root账号

6. 创建新账号

创建的账号会在集群中自动同步
创建mq账号

sudo rabbitmqctl add_user mq mq123456

为账号设置tag

sudo rabbitmqctl set_user_tags mq administrator

为账号设置权限

sudo rabbitmqctl set_permissions -p "/" mq ".*" ".*" ".*"

查看当前所有账号

sudo rabbitmqctl list_users

为安全起见,删除默认的guest账号

sudo rabbitmqctl delete_user guest

7. 修改配置文件

在所有集群机器上创建rabbitmq配置文件,sudo vi /etc/rabbitmq/rabbitmq.config,内容如下

[
  {rabbit,[
      {tcp_listeners,  [5672]},
      {loopback_users,  ["mq"]}
    
  ]}
].
  1. loopback_users是用来配置可远程访问的账号的
  2. rabbitmq.config的更多配置,大家可以参考/usr/share/doc/rabbitmq-server/rabbitmq.config.example.gz,里面有对各个属性的官方说明

重启RabbitMQ

sudo service rabbitmq-server restart 

7. 可视化

通过新建的账号可以登录管理页面,三台机器的地址随便登录哪个都可以。
如:192.168.16.6:15672

现在通过页面可以发现,VM-16-9-ubuntu为内存节点

image.png

相关文章

网友评论

      本文标题:RabbitMQ安装 - 集群

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