二、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、验证集群状态
恭喜,集群搭建成功!
本文来自博客园,作者:yangleiyu,转载请注明原文链接:https://www.cnblogs.com/yangleiyu/p/15539698.html