Centos7.3 RabbitMQ分布式集群搭建示例
程序员文章站
2022-05-11 17:51:19
本文介绍了centos7.3 rabbitmq分布式集群搭建示例,分享给大家,具体如下:
注意事项
centos 7.x 关闭firewall
三台机器:...
本文介绍了centos7.3 rabbitmq分布式集群搭建示例,分享给大家,具体如下:
注意事项
centos 7.x 关闭firewall
三台机器:
172.17.250.97 rabbimq01 172.17.250.98 rabbimq03 172.17.250.99 rabbimq02
配置 hosts
172.17.250.97 fz-rabbitmq01 172.17.250.99 fz-rabbitmq02 172.17.250.98 fz-rabbitmq03
$ systemctl stop firewalld.service # 停止firewall
不想关闭防火墙,就开放15672端口,设置之后可以通过网页方式管理mq
安装安装iptables防火墙
yum install iptables-services
添加配置
iptables -i input -p tcp --dport 5672 -j accept iptables -i input -p tcp --dport 15672 -j accept
保存配置
service iptables save
重启
systemctl restart iptables.service
设置开机自启动
systemctl enable iptables.service
安装
安装 erlang
rabbitmq 安装需要依赖 erlang 环境
$ cd /usr/local/src $ wget http://www.rabbitmq.com/releases/erlang/erlang-19.0.4-1.el7.centos.x86_64.rpm $ yum install erlang-19.0.4-1.el7.centos.x86_64.rpm -y
安装 rabbitmq
$ cd /usr/local/src $ wget http://www.rabbitmq.com/releases/rabbitmq-server/v3.6.10/rabbitmq-server-3.6.10-1.el7.noarch.rpm $ yum install rabbitmq-server-3.6.10-1.el7.noarch.rpm -y
仅仅rabbitmq01运行:
rabbitmq-server -detached
之后运行
rabbitmqctl status
查看rabbitmq是否正常启动。
创建集群:
首先搞个密钥认证:
[root@fz-rabbitmq01 src]# ssh-keygen [root@fz-rabbitmq01 src]# ssh-copy-id -pxxxxx -i ~/.ssh/id_rsa.pub [email protected] [root@fz-rabbitmq01 src]# ssh-copy-id -pxxxxx -i ~/.ssh/id_rsa.pub [email protected]
读取rabbitmq01节点的cookie, 并复制到其他节点(节点之间通过cookie确定相互是否可通信)。 cookie存放在/var/lib/rabbitmq/.erlang.cookie或者$home/.erlang.cookie中。
[root@fz-rabbitmq01 src]# scp -pxxxxx /var/lib/rabbitmq/.erlang.cookie 172.17.250.99:/var/lib/rabbitmq /etc/bashrc:行94: soruce: 未找到命令 .erlang.cookie 100% 20 0.0kb/s 00:00 [root@fz-rabbitmq01 src]# scp -pxxxxx /var/lib/rabbitmq/.erlang.cookie 172.17.250.98:/var/lib/rabbitmq /etc/bashrc:行94: soruce: 未找到命令 .erlang.cookie
逐个启动节点
rabbitmq-server -detached
建立集群
分别在rabbitmq02和rabbitmq03上面执行即可
rabbitmqctl stop_app rabbitmqctl reset rabbitmqctl join_cluster rabbit@fz-rabbitmq01 rabbitmqctl start_app
最后通过rabbitmqctl cluster_status查看集群的状态信息:
[root@fz-rabbitmq01 src]# rabbitmqctl cluster_status cluster status of node 'rabbit@fz-rabbitmq01' [{nodes,[{disc,['rabbit@fz-rabbitmq01','rabbit@fz-rabbitmq02', 'rabbit@fz-rabbitmq03']}]}, {running_nodes,['rabbit@fz-rabbitmq03','rabbit@fz-rabbitmq02', 'rabbit@fz-rabbitmq01']}, {cluster_name,<<"[email protected]">>}, {partitions,[]}, {alarms,[{'rabbit@fz-rabbitmq03',[]}, {'rabbit@fz-rabbitmq02',[]}, {'rabbit@fz-rabbitmq01',[]}]}]
在访问web(http://xxx.xxx.xxx.xxx:15672)时, 如果在overview中的nodes部分看到“node statistics not available”的信息,说明在该节点上web管理插件还未启用。
3个节点都需要运行:
[root@fz-rabbitmq01 src]# rabbitmq-plugins enable rabbitmq_management the following plugins have been enabled: amqp_client cowlib cowboy rabbitmq_web_dispatch rabbitmq_management_agent rabbitmq_management applying plugin configuration to rabbit@fz-rabbitmq01... started 6 plugins.
遇到的问题
error: unable to connect to node '[email protected]': nodedown
解决方案:执行如下两条命令:
# /sbin/service rabbitmq-server stop # /sbin/service rabbitmq-server start
然后再次执行:即可
rabbitmqctl stop_app rabbitmqctl reset rabbitmqctl join_cluster rabbit@fz-rabbitmq01 rabbitmqctl start_app
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
上一篇: 老公好性感的美女啊