二、Linux部署RabbitMQ集群

RabbitMQ官方网站非常详细,以下只是本人学习过程的整理

 

一、Windows部署RabbitMQ:https://www.cnblogs.com/yangleiyu/p/15539618.html
二、Linux部署RabbitMQ集群:https://www.cnblogs.com/yangleiyu/p/15539698.html
三、.Net Core使用RabbitMQ各种模式:会在后续文章介绍

 

1)、环境准备

ip

hostname

10.13.184.83

node1

10.13.182.239

node2

1、关闭防火墙或关闭对应端口防火墙

此处省略

2、设置两台机器的hostname

A、查看当前hostname

hostnamectl

 

B、修改hostname

hostnamectl set-hostname node1

hostnamectl set-hostname node2

C、查看hostname

 

 

2)、安装Erlang

两台机器都需要

1、安装依赖

yum -y install gcc glibc-devel make ncurses-devel openssl-devel xmlto perl wget gtk2-devel binutils-devel

2、下载安装包

wget http://erlang.org/download/otp_src_22.0.tar.gz

或手动拷贝安装包至当前操作目录

 

链接:https://pan.baidu.com/s/1OPilvpu98Rr4Bcm-Oq9rTg
提取码:0716

3、解压

tar -zxvf otp_src_22.0.tar.gz

4、移动

mv otp_src_22.0 /usr/local/

5、切换目录

cd /usr/local/otp_src_22.0/

6、创建安装目录

mkdir ../erlang

7、配置安装路径

./configure --prefix=/usr/local/erlang

8、安装

make install

9、添加环境变量

echo 'export PATH=$PATH:/usr/local/erlang/bin' >> /etc/profile

10、环境变量生效

source /etc/profile

11、测试安装结果

erl

 

3)、安装RabbitMQ

两台机器都需要

1、下载安装包

wget https://github.com/rabbitmq/rabbitmq-server/releases/download/v3.7.15/rabbitmq-server-generic-unix-3.7.15.tar.xz

或手动拷贝安装包至当前操作目录

 

链接:https://pan.baidu.com/s/1UcyI2_tjTsjT1yBJ2RzKnQ
提取码:0716

2、安装xz

已安装可忽略此步骤

yum install -y xz

3、第一次解压

/bin/xz -d rabbitmq-server-generic-unix-3.7.15.tar.xz

4、第二次解压

tar -xvf rabbitmq-server-generic-unix-3.7.15.tar

5、移动目录

mv rabbitmq_server-3.7.15/ /usr/local/

6、修改文件夹名

mv /usr/local/rabbitmq_server-3.7.15  rabbitmq

7、配置环境变量

echo 'export PATH=$PATH:/usr/local/rabbitmq/sbin' >> /etc/profile

8、环境变量生效

source /etc/profile

4)、启动

1、启动

rabbitmq-server –detached

2、查看状态

rabbitmqctl status

3、查看集群状态

rabbitmqctl cluster_status

4、停止

rabbitmqctl stop

5、查看进程

ps -ef | grep rabbitmq

5)、开启web插件

1、开启插件

rabbitmq-plugins enable rabbitmq_management

2、浏览

IP:15672

 

默认账号密码:guest guest(这个账号只允许本机访问)

6)、创建账号

1、查看所有用户

rabbitmqctl list_users

2、添加用户

rabbitmqctl add_user yly 123456

3、配置权限

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

4、查看用户权限

rabbitmqctl list_user_permissions yly

5、设置tag

rabbitmqctl set_user_tags yly administrator

6、删除用户

可不删除,此步骤可忽略

rabbitmqctl delete_user guest

 

7)、登录

 

8)、开始配置集群

1、配置两台机器的hosts

vim /etc/hosts修改后使用:wq!保存并退出

 

2、停止服务

node1&node2:

rabbitmqctl stop

3、设置erlang cookie

这里将 node1 的该文件复制到 node2,由于这个文件权限是 400为方便传输,先修改权限,所以需要先修改 node2中的该文件权限为 777。

集群各节点的cookie必须保持一致,否则无法通信。

erlang是通过主机名来连接服务,必须保证各个主机名之间可以ping通。可以通过编辑/etc/hosts来手工添加主机名和IP对应关系。如果主机名ping不通,rabbitmq服务启动会失败。

A、设置777权限

node2:

chmod 777 /root/.erlang.cookie

注意.erlang.cookie的目录,也有可能在/var/lib/rabbitmq/.erlang.cookie

B、拷贝cookie文件

将node1节点上的cookie拷贝至node2

node1:

scp /root/.erlang.cookie node2:/root/

拷贝过程中会输yes和密码

C、最后将权限和所属用户/组修改回来

node2:

chmod 400 /root/.erlang.cookie

node2:

chown root /root/.erlang.cookie

node2:

chgrp root /root/.erlang.cookie

9)、运行各节点

node1&node2:

rabbitmqctl stop

node1&node2:

rabbitmq-server –detached

10)、组成集群

A、查看集群

这时候还没有组成集群

 

B、将node2加入集群

node2:

rabbitmqctl stop_app

node2:

rabbitmqctl join_cluster rabbit@node1

node2:

rabbitmqctl start_app

如果此处还有node3,node4等,则只需要加入node1,其他节点自动连接通信

C、验证集群状态

 

 

 

恭喜,集群搭建成功!

posted @ 2021-11-12 10:16  yangleiyu  阅读(565)  评论(1编辑  收藏  举报