RabbitMQ (集群部署指南)

RabbitMQ 集群部署

前期准备

第一步:三台linux系统(centos7.3)

主机名(hostname)网卡ip
node1192.168.137.138
node2192.168.137.139
node3192.168.137.140
##所有node操作:域名解析ip

# vim /etc/hosts
...
192.168.137.139  node2
192.168.137.140  node3
192.168.137.138  node1
...
##ndoe1 操作:无密钥登陆其他主机

[root@node1 ~]# ssh-keygen

[root@node1 ~]# ssh-copy-id node2
[root@node1 ~]# ssh-copy-id node3

布置RabbitMQ集群

第一步:下载安装

##所有node安装rabbtimq和erlang软件包

yum install -y erlang rabbitmq-server.noarch
systemctl start rabbitmq-server.service
systemctl status rabbitmq-server.service
systemctl enable rabbitmq-server.service

第二步:检查(可选)

##所有node操作

#检查端口:RabbitMQ 端口号为5672
ss -ntl |grep 5672

#主配置文件目录
/etc/rabbitmq/rabbitmq.config

第三步:添加一个openstack的用户,并设密码为RABBIT_PASS。并设置权限和成为管理员

##node1操作

rabbitmqctl add_user openstack RABBIT_PASS
rabbitmqctl set_permissions openstack ".*" ".*" ".*"
rabbitmqctl set_user_tags openstack administrator

第四步:编辑rabbitmq变量文件

##node1:操作

vim /etc/rabbitmq/rabbitmq-env.conf
...
RABBITMQ_NODE_PORT=5672
ulimit -S -n 4096
RABBITMQ_SERVER_ERL_ARGS="+K true +A30 +P 1048576 -kernel inet_default_connect_options [{nodelay,true},{raw,6,18,<<5000:64/native>>}] -kernel inet_default_listen_options [{raw,6,18,<<5000:64/native>>}]"
RABBITMQ_NODE_IP_ADDRESS=172.16.254.60
...

第五步:将rabbittmq变量文件拷贝到其他两节点,之后并修改相应节点的ip

##node1操作

scp /etc/rabbitmq/rabbitmq-env.conf node2:/etc/rabbitmq/
scp /etc/rabbitmq/rabbitmq-env.conf node3:/etc/rabbitmq/

##将ip修改为相应节点的ip

第六步:开启rabbitmq的web管理页面

##所有node操作

##查看rabbitmq插件
/usr/lib/rabbitmq/bin/rabbitmq-plugins list


##开启rabbitmq的web管理页面
/usr/lib/rabbitmq/bin/rabbitmq-plugins enable rabbitmq_management mochiweb webmachine rabbitmq_web_dispatch amqp_client rabbitmq_management_agent
##或者:
rabbitmq-plugins enable rabbitmq_management


systemctl restart rabbitmq-server.service
systemctl status rabbitmq-server.service

第七步:node1发送erlang.cookie到其他节点配置集群

rabbitmqctl status
scp /var/lib/rabbitmq/.erlang.cookie node2:/var/lib/rabbitmq/.erlang.cookie
scp /var/lib/rabbitmq/.erlang.cookie node3:/var/lib/rabbitmq/.erlang.cookie

第八步:node2和node3停止应用,并以ram的方式加入node1节点,之后重启应用

systemctl restart rabbitmq-server.service
rabbitmqctl stop_app
rabbitmqctl join_cluster --ram rabbit@node1
rabbitmqctl start_app

第九步:检查集群的状态

# rabbitmqctl cluster_status

第十步:登陆

192.168.137.138:15672

7c059fba219e57496e92ed9c13dcad2a.jpeg


其他命令操作

修改guest密码为admin(默认用户为:guest 密码为:guest)

rabbitmqctl change_password guest admin

添加管理员:

rabbitmqctl add_user mqadmin mqadmin
rabbitmqctl set_user_tags mqadmin administrator
rabbitmqctl set_permissions -p / mqadmin ".*" ".*" ".*"

更改节点类型(内存型或磁盘型)

rabbitmqctl stop_app
rabbitmqctl change_cluster_node_type disc 或 rabbitmqctl change_cluster_node_type ram
rabbitmqctl start_app

从集群移除节点(或者重置节点)

rabbitmqctl stop_app
rabbitmqctl reset
rabbitmqctl start_app
rabbitmqctl cluster_status

从某个节点移除集群中其他节点

rabbitmqctl forget_cluster_node rabbit@node3
rabbitmqctl reset
rabbitmqctl start_app
rabbitmqctl cluster_status

rabbitmqctl命令官方文档:

https://www.rabbitmq.com/rabbitmqctl.8.html

220ab83b78bfffeb1edfc2ab4f181897.jpeg

链接:https://www.cnblogs.com/du-z/p/11254203.html

                                                              (版权归原作者所有,侵删)

a3a59aa2d7108aa5d3eb206cb21f1ae4.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值