RabbitMQ cluster
2017-05-11 18:53
323 查看
环境准备
主机版本Linux control-ha-3 4.4.0-45-generic #66-Ubuntu SMP Wed Oct19 14:12:37 UTC 2016 x86_64 x86_64 x86_64 GNU/LinuxErlang版本号Erlang/OTP 18 [erts-7.3] [source] [64-bit][async-threads:10] [hipe] [kernel-poll:false]Eshell V7.3 (abortwith ^G)rabbitmq版本Version: 3.5.7-1Depends: adduser, erlang-nox (>= 1:13.b.3) | esl-erlang,logrotate, init-system-helpers (>= 1.18~) 安装erlang # apt-get installerlang常用命令
1 查看所有队列信息# rabbitmqctl list_queues2 关闭应用# rabbitmqctl stop_app3 启动应用,和上述关闭命令配合使用,达到清空队列的目的# rabbitmqctl start_app 4 清除所有队列# rabbitmqctl reset5 更多用法及参数,可以执行如下命令查看# rabbitmqctl6 首先关闭# rabbitmqctlstop_app7 还原: # rabbitmqctlreset8 启动:# rabbitmqctlstart_app9 添加用户: # rabbitmqctladd_user dftc dftcp@ss10 设置权限:# rabbitmqctlset_permissions -p / dftc ".*" ".*" ".*"11 查看用户: # rabbitmqctllist_userscontrol1, control 2, control 3以及其相关配置
搭载了RabbitMQ服务的Ubuntu服务器。1. Control1具体网络配置如下:Ip address | 192.168.163.141 |
net mask | 255.255.255.0 |
gateway | 192.168.163.2 |
Dns | 114.114.114.114 |
Ip address | 192.168.163.142 |
net mask | 255.255.255.0 |
gateway | 192.168.163.2 |
Dns | 114.114.114.114 |
Ip address | 192.168.163.143 |
net mask | 255.255.255.0 |
gateway | 192.168.163.2 |
Dns | 114.114.114.114 |
RabbitMQ单节点配置流程
1. 配置3台台可以接入公网的CentOS,然后在各机器中按序执行一下命令:# apt-getinstall erlang -y # wgethttps://github.com/rabbitmq/rabbitmq-server/releases/download/rabbitmq_v3_6_5/rabbitmq-server_3.6.5-1_all.deb# rabbitmq-server# rabbitmq-pluginsenable rabbitmq_management 2. 在每个节点配置/etc/hosts中最后增加下面内容:#vi /etc/hosts192.168.163.141 control1192.168.163.142 control2192.168.163.143 control3 输入erl确认erlang已经正确安装当出现以上信息时表示安装完成。然后输入’halt().’退出即可。然后在配置Erlang环境变量,vi /etc/profile文件,增加下面的环境变量:#seterlang environmentexportPATH=$PATH:/opt/erlang/bin 3. 重启三台机器#reboot4. 构建起erlang的集群环境Rabbitmq的集群是依赖于erlang的集群来工作的。Erlang的集群中各节点是通过一个magic cookie来实现的,这个cookie存放在 /var/lib/rabbitmq/.erlang.cookie 中,所以必须保证各节点cookie保持一致,否则节点之间就无法通信。 使用以下命令将Control1中的/var/lib/rabbitmq/.erlang.cookie 复制到其他节点。在Control1节点运行以下命令:# scp /var/lib/rabbitmq/.erlang.cookie root@192.168.163.142: /var/lib/rabbitmq/.erlang.cookie # scp /var/lib/rabbitmq/.erlang.cookie root@192.168.163.143: /var/lib/rabbitmq/.erlang.cookie 由于文件是400的权限,所以在Control2以及Control3节点运行以下命令:保证权限属主属组完全一致# chmod 400/var/lib/rabbitmq/.erlang.cookie # chown rabbitmq.rabbitmq/var/lib/rabbitmq/.erlang.cookie 完成后运行rabbitmqctl stop 然后 rabbitmq-server 重启服务# rabbitmqctl stop # /sbin/service rabbitmq-server restart 在Control1节点增加用户,并且为用户赋予权限# rabbitmqctl add_user dftc dftcp@ss(测试环境使用queuep@ss)# rabbitmqctl set_user_tags dftc administrator# rabbitmqctl set_permissions -p / dftc '.*''.*' '.*' 通过http://192.168.163.141:15672 用户名为:dftc 密码为:dftcp@ss(测试环境使用queuep@ss)连入第一台配置成功的RabbitMQ服务器。其他节点暂不配置 Iptables打开对应端口,尤其注意4369和25672,没有打开的时候,添加集群会报错并提示打开#rabbitmq cluster-A INPUT -p tcp -m state --state NEW -m tcp --dport 4369 -j ACCEPT-A INPUT -p tcp -m state --state NEW -m tcp --dport 5672 -j ACCEPT-A INPUT -p tcp -m state --state NEW -m tcp --dport 15672 -j ACCEPT-A INPUT -p tcp -m state --state NEW -m tcp --dport 25672 -j ACCEPTRabbitMQ集群搭建
1. RabbitMQ相关的配置使用 -detached 参数,在各节点中运行以下命令:# rabbitmqctl stop# rabbitmq-server –detached 组成集群,在control2与control3中分别运行以下命令:# rabbitmqctl stop_app # rabbitmqctl join_cluster --ramrabbit@rabbitmq-control1(跟据实际主机名确定)# rabbitmqctl start_app 可选步骤:在已经可用的Control1的web页面,配置![](/e/u261/themes/default/images/spacer.gif)
注:红框内的内容在没配置之前是没有的。
相关文章推荐
- How To Cluster Rabbit-MQ
- openstack rabbitmq cluster
- How To Cluster Rabbit-MQ--reference
- RabbitMQ Cluster
- CentOS 6.3安装及配置RabbitMQ cluster
- RabbitMQ概念及环境搭建 -- RabbitMQ cluster
- [RabbitMQ] RabbitMQ Cluster ConnectionClose Error with HAProxy
- openstack HA--1(rabbitMQ cluster)
- openstack HA--1(rabbitMQ cluster)
- Linux下面安装RabbitMQ Cluster
- RabbitMQ概念及环境搭建(三)RabbitMQ cluster
- rabbitmq+haproxy+keepalived实现高可用集群搭建
- Rabbitmq Exchange使用建议
- RabbitMQ Cookbook].Sigismondo Boschi
- RabbitMQ/JAVA (发布/订阅模式)
- rabbitmq binary/other_system内存占用很高
- 使用Rabbitmq/spring进行RPC
- rabbitmq pika connection closed
- Centos 7.2 Install RabbitMQ 3.6.6
- RabbitMQ+Keepalived之安装配置笔记