rabbitMQ 集群的配置
参考文档:http://blog.csdn.net/woogeyu/article/details/51119101
环境说明
在两个不同的主机上创建两个节点主机IP,主机名如下
10.176.0.13 node1
10.176.0.19 node2
1.分别在两个主机上安装rabbitMQ(一个主机一个rabbitMQ),注意语言环境erlang和rabbitMQ的版本必须一致
2.集群的配置
RabbitMQ集群中所有节点都是平等的,没有绝对的主次之分,每一个节点的配置信息都会在集群中进行同步。只有节点类型区别,节点类型有disk型和RAM型。分别对应磁盘和内存,disk节点可以持久化消息安全性较高、RAM节点存取速度快,但是不能持久化。一个集群中至少要有一个disk类型的节点,以便在所有节点宕机重启时将持久化队列中的消息进行持久化。
问题说明: RabbitMQ要求在集群中至少有一个磁盘节点,所有其他节点可以是内存节点,当节点加入或者离开集群时,必须要将该变更通知到至少一个磁盘节点。如果集群中唯一的一个磁盘节点崩溃的话,集群仍然可以保持运行,但是无法进行其他操作(增删改查),直到节点恢复。
解决方案:设置两个磁盘节点,至少有一个是可用的,可以保存元数据的更改。
2.1安装准备,主机名之间互相解析,分别修改两台主机的hosts文件
vim /etc/hosts 添加如下内容
192.168.31.66 node1
192.168.31.67 node2
2.2同步 Erlang Cookie(节点之间是通过Erlang Cookie 文件通信Erlang Cookie是保证不同节点可以相互通信的密钥,来达到配置信息的同步)将任意一台的cookie文件或者内容替换到集群其他机器。最后确保文件权限为400
查看node1节点的cookie值
[root@node1 ~]# cat /var/lib/rabbitmq/.erlang.cookie
PSNXAHYXQRPBKUVNYQCU
关闭node2,将node1的cookie的值复制到node2节点
[root@node2 ~]# rabbitmqctl stop
[root@node2 ~]# echo PSNXAHYXQRPBKUVNYQCU > /var/lib/rabbitmq/.erlang.cookie
cookie值同步后,启动node2节点
service rabbitmq-server start
2.3将node1加入集群node2作为RAM类型节点
rabbitmqctl stop_app
rabbitmqctl reset
rabbitmqctl join_cluster rabbit@node1 --ram
rabbitmqctl start_app
2.4查看集群的状态
rabbitmqctl status
rabbitmqctl cluster_status
3 访问任意管理端界面查看http://ip:15672 可查看集群信息
另外有需要云服务器可以了解下创新互联cdcxhl.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。
文章名称:rabbitMQ集群的配置-创新互联
标题来源:https://www.cdcxhl.com/article48/esghp.html
成都网站建设公司_创新互联,为您提供营销型网站建设、App设计、网站营销、关键词优化、品牌网站建设、网站策划
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联