RabbitMQ (集群部署指南)
共 3409字,需瀏覽 7分鐘
·
2024-06-19 08:00
RabbitMQ 集群部署
前期準(zhǔn)備
第一步:三臺(tái)linux系統(tǒng)(centos7.3)
| 主機(jī)名(hostname) | 網(wǎng)卡ip |
|---|---|
| node1 | 192.168.137.138 |
| node2 | 192.168.137.139 |
| node3 | 192.168.137.140 |
##所有node操作:域名解析ip
# vim /etc/hosts
...
192.168.137.139 node2
192.168.137.140 node3
192.168.137.138 node1
...
##ndoe1 操作:無(wú)密鑰登陸其他主機(jī)
[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 端口號(hào)為5672
ss -ntl |grep 5672
#主配置文件目錄
/etc/rabbitmq/rabbitmq.config
第三步:添加一個(gè)openstack的用戶,并設(shè)密碼為RABBIT_PASS。并設(shè)置權(quán)限和成為管理員
##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變量文件拷貝到其他兩節(jié)點(diǎn),之后并修改相應(yīng)節(jié)點(diǎn)的ip
##node1操作
scp /etc/rabbitmq/rabbitmq-env.conf node2:/etc/rabbitmq/
scp /etc/rabbitmq/rabbitmq-env.conf node3:/etc/rabbitmq/
##將ip修改為相應(yīng)節(jié)點(diǎn)的ip
第六步:開(kāi)啟rabbitmq的web管理頁(yè)面
##所有node操作
##查看rabbitmq插件
/usr/lib/rabbitmq/bin/rabbitmq-plugins list
##開(kāi)啟rabbitmq的web管理頁(yè)面
/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發(fā)送erlang.cookie到其他節(jié)點(diǎn)配置集群
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停止應(yīng)用,并以ram的方式加入node1節(jié)點(diǎn),之后重啟應(yīng)用
systemctl restart rabbitmq-server.service
rabbitmqctl stop_app
rabbitmqctl join_cluster --ram rabbit@node1
rabbitmqctl start_app
第九步:檢查集群的狀態(tài)
# rabbitmqctl cluster_status
第十步:登陸
192.168.137.138:15672
其他命令操作
修改guest密碼為admin(默認(rèn)用戶為:guest 密碼為:guest)
rabbitmqctl change_password guest admin
添加管理員:
rabbitmqctl add_user mqadmin mqadmin
rabbitmqctl set_user_tags mqadmin administrator
rabbitmqctl set_permissions -p / mqadmin ".*" ".*" ".*"
更改節(jié)點(diǎn)類型(內(nèi)存型或磁盤型)
rabbitmqctl stop_app
rabbitmqctl change_cluster_node_type disc 或 rabbitmqctl change_cluster_node_type ram
rabbitmqctl start_app
從集群移除節(jié)點(diǎn)(或者重置節(jié)點(diǎn))
rabbitmqctl stop_app
rabbitmqctl reset
rabbitmqctl start_app
rabbitmqctl cluster_status
從某個(gè)節(jié)點(diǎn)移除集群中其他節(jié)點(diǎn)
rabbitmqctl forget_cluster_node rabbit@node3
rabbitmqctl reset
rabbitmqctl start_app
rabbitmqctl cluster_status
rabbitmqctl命令官方文檔:
https://www.rabbitmq.com/rabbitmqctl.8.html
鏈接:https://www.cnblogs.com/du-z/p/11254203.html
(版權(quán)歸原作者所有,侵刪)
評(píng)論
圖片
表情
