前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Centos7.3 RabbitMQ分布式集群搭建

Centos7.3 RabbitMQ分布式集群搭建

作者头像
老七Linux
发布2018-05-31 09:47:38
5450
发布2018-05-31 09:47:38
举报
注意事项

centos 7.x 关闭firewall

三台机器:
代码语言:javascript
复制
172.17.250.97           rabbiMQ01
172.17.250.98           rabbiMQ03
172.17.250.99           rabbiMQ02
配置 hosts
代码语言:javascript
复制
172.17.250.97 fz-rabbitMQ01
172.17.250.99 fz-rabbitMQ02
172.17.250.98 fz-rabbitMQ03
代码语言:javascript
复制
$ systemctl stop firewalld.service # 停止firewall

不想关闭防火墙,就开放15672端口,设置之后可以通过网页方式管理MQ

安装安装iptables防火墙

代码语言:javascript
复制
yum install iptables-services

添加配置

代码语言:javascript
复制
iptables -I INPUT -p tcp --dport 5672 -j ACCEPT
iptables -I INPUT -p tcp --dport 15672 -j ACCEPT

保存配置

代码语言:javascript
复制
service iptables save

重启

代码语言:javascript
复制
systemctl restart iptables.service

设置开机自启动

代码语言:javascript
复制
systemctl enable iptables.service
安装
安装 Erlang

RabbitMQ 安装需要依赖 Erlang 环境

代码语言:javascript
复制
$ 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
代码语言:javascript
复制
$ 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 运行:

代码语言:javascript
复制
rabbitmq-server -detached

之后运行

代码语言:javascript
复制
rabbitmqctl status

查看rabbitmq是否正常启动。

创建集群:

首先搞个密钥认证:

代码语言:javascript
复制
[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中。

代码语言:javascript
复制
[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         
逐个启动节点
代码语言:javascript
复制
rabbitmq-server -detached
建立集群

分别在 rabbitMQ02 和 rabbitMQ03 上面执行即可

代码语言:javascript
复制
rabbitmqctl stop_app 

rabbitmqctl reset 

rabbitmqctl join_cluster rabbit@fz-rabbitMQ01 

rabbitmqctl start_app 

最后通过rabbitmqctl cluster_status查看集群的状态信息:

代码语言:javascript
复制
[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个节点都需要运行:

代码语言:javascript
复制
[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.
遇到的问题
代码语言:javascript
复制
Error: unable to connect to node '[email protected]': nodedown

解决方案:执行如下两条命令:

代码语言:javascript
复制
# /sbin/service rabbitmq-server stop

# /sbin/service rabbitmq-server start

然后再次执行:即可

代码语言:javascript
复制
rabbitmqctl stop_app 

rabbitmqctl reset 

rabbitmqctl join_cluster rabbit@fz-rabbitMQ01 

rabbitmqctl start_app 
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2018/05/15,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 注意事项
  • 三台机器:
  • 配置 hosts
  • 安装
    • 安装 Erlang
      • 安装 RabbitMQ
      • 创建集群:
        • 逐个启动节点
          • 建立集群
            • 遇到的问题
            领券
            问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档