内容简介:RabbitMQ集群
一、前言
线上的 RabbitMQ用的是单节点,前段时间由于机器内存不足,发生了OOM,业务受到了影响,故打算换成 RabbitMQ集群。RabbitMQ模式有三种,分别是:单一模式、普通模式、镜像模式,镜像模式才是RabbitMQ真正的HA方案,关于更详细的简绍,请移步到官网:http://www.rabbitmq.com/ha.html ,下面是关于RabbitMQ集群的部署过程:
二、环境
erlang版本:
erlang-19.0.4-1.el7.centos.x86_64
rabbitmq版本:
rabbitmq-server-3.6.6
服务器主机名:
ip-172-31-13-114 磁盘节点 ip-172-31-15-124 内存节点 ip-172-31-11-216 内存节点
三、安装
1、erlang安装
a、wget https://packages.erlang-solutions.com/erlang-solutions-1.0-1.noarch.rpm rpm -Uvh erlang-solutions-1.0-1.noarch.rpm b、rpm --import https://packages.erlang-solutions.com/rpm/erlang_solutions.asc c、Add the following lines to some file in /etc/yum.repos.d/: [erlang-solutions] name=Centos $releasever - $basearch - Erlang Solutions baseurl=https://packages.erlang-solutions.com/rpm/centos/$releasever/$basearch gpgcheck=1 gpgkey=https://packages.erlang-solutions.com/rpm/erlang_solutions.asc enabled=1 d、yum install erlang esl-erlang
2、RabbitMQ 安装
a、 wget http://www.rabbitmq.com/releases/rabbitmq-server/v3.6.6/rabbitmq-server-generic-unix-3.6.6.tar.xz b、tar -xvf rabbitmq-server-generic-unix-3.6.6.tar.xz c、 mv rabbitmq_server-3.6.6 /data/rabbitmq d、cd /data/rabbitmq/;./sbin/rabbitmq-server -detached
四、配置
1、需要配置host,不然集群没用办法创建,我这里用的aws的ec2,用的默认主机名,这里就不修改了
2、拷贝.erlang.cookie,RabbitMQ集群依赖erlang集群才能工作,所以需要先构建erlang集群,.erlang.cookie文件在启动用户的家目录下,我这里是用work用户启动的RabbitMQ,拷贝一台服务器的/home/work/.erlang.cookie到其他机器并设置权限
chown work:work /home/work/.erlang.cookie chmod 400 /home/work/.erlang.cookie
3、设置集群的模式:镜像
rabbitmqctl set_policy ha-all "^" '{"ha-mode":"all"}'
PS:
在任意一个节点操作即可,这里在ip-172-31-13-114上操作
4、加入集群(ip-172-31-15-124 、ip-172-31-11-216 )
rabbitmqctl stop_app rabbitmqctl join_cluster --ram rabbit@ip-172-31-13-114 rabbitmqctl start_app
PS:
--ram 指定内存节点类型,--disc指定磁盘节点类型
5、查看集群
rabbitmqctl cluster_status
6、启用管理和监控模块
rabbitmq-plugins enable rabbitmq_management
7、设置集群的名字
rabbitmqctl set_cluster_name my_mq
8、添加用户:
rabbitmqctl add_user spider spider
9、设置用户权限策略
rabbitmqctl set_user_tags spider administrator
10、vhost授权
rabbitmqctl set_permissions -p / spider '.*' '.*' '.*'
11、改变节点类型为磁盘节点
rabbitmqctl stop_app rabbitmqctl change_cluster_node_type disc rabbitmqctl start_app
12、将节点移出集群
将节点ip-172-31-11-216 移出集群前,先要stop_app,然后reset节点
[root@ip-172-31-11-216 ~]# rabbitmqctl stop_app Stopping node rabbit@ip-172-31-11-216 ... [root@ip-172-31-11-216 ~]# rabbitmqctl reset Resetting node rabbit@ip-172-31-11-216 ...
以上所述就是小编给大家介绍的《RabbitMQ集群》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
猜你喜欢:- Elasticsearch 集群搭建和集群原理
- Zookeeper集群 + Kafka集群 + KafkaOffsetMonitor 监控
- Zookeeper学习系列【二】Zookeeper 集群章节之集群搭建
- Kafka从上手到实践-Kafka集群:启动Kafka集群
- 借 Redis cluster 集群,聊一聊集群中数据分布算法
- K8S集群入门:运行一个应用程序究竟需要多少集群?
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
地理信息系统算法基础
张宏、温永宁、刘爱利/国别:中国大陆 / 科学出版社 / 2006-6 / 35.00元
《地理信息系统算法基础》全面、系统地收集和整理了当前地理信息系统算法领域的相关资料,以地理信息系统设计与实现为线索,内容涉及地理空间数据的描述、检索、存储和管理,以及地理空间信息分析基本方法的设计和实现。《地理信息系统算法基础》可作为地理信息系统专业的本科生和研究生教材,也可作为从事地理信息系统软件开发和应用的人员的学习资料,并可供地理信息系统的理论研究人员参考。一起来看看 《地理信息系统算法基础》 这本书的介绍吧!