安装rabbitmq
rabbitmq安装最好使用yum安装
配置yum源头
rpm -Uvh
rpm -Uvh
配置epel源的目的是为了安装socat
下载rabbitmq
wget
yum install rabbitmq-server-3.6.4-1.noarch.rpm #使用yum安装即可把依赖包一起安装好
配置3台机器成集群模式
首选条件,需要配置成集群的各节点erlang版本必须一致
添加hosts
172.16.113.81 rabbitmq-81
172.16.113.82 rabbitmq-82
172.16.113.83 rabbitmq-83
建立数据文件和日志目录
mkdir -p /data/rabbitmq/{db,log}
chown -R rabbitmq:rabbitmq /data/rabbitmq
设置rabbitmq环境变量配置文件rabbitmq-env.conf,默认目录在/etc/rabbitmq
编辑vim /etc/rabbitmq/rabbitmq-env.conf
RABBITMQ_NODENAME=mq
RABBITMQ_MNESIA_BASE=/data/rabbitmq/db
RABBITMQ_LOG_BASE=/data/rabbitmq/log
在rabbitmq-81节点上启动下rabbitmq产生cookie
/etc/init.d/rabbitmq-server start
/etc/init.d/rabbitmq-server stop
每个节点间的通讯依靠rabbitmq cookie建立连接的,必须保持集群中每个节点cookie内容一致,cookie在rabbitmq启动的时候创建,文件权限必须是400
我们在部署集群的时候,可以把一个节点上创建的cookie的拷贝到其他节点上,并保持权限为400
cookie目录为/var/lib/rabbitmq/.erlang.cookie
rabbitmq-81$ scp /var/lib/rabbitmq/.erlang.cookie 172.16.113.82:/var/lib/rabbitmq/
rabbitmq-81$ scp /var/lib/rabbitmq/.erlang.cookie 172.16.113.83:/var/lib/rabbitmq/
starting independent nodes
rabbitmq-81$ rabbitmq-server -detached
rabbitmq-82$ rabbitmq-server -detached
rabbitmq-83$ rabbitmq-server -detached
集群节点分为disc nodes和 ram nodes,即disc nodes上的数据会持久化到硬盘上,实现数据冗余,但性能会下降
ram nodes即内存节点,所有的数据都存在了内存里,服务重启数据将丢失,但性能所有提升
另外:不管是disc nodes还是ram nodes,在消息的订阅和消费时速度是一样的
一个集群中最少要有一个disc nodes以保证数据不会丢失
还是安装上面的三个节点配置成两个ram nodes和一个disc nodes
假设三节点上rabbitmq服务已经启动,如果没有启动执行rabbitmq-server -detached
加入节点rabbitmq-82为ram nodes
{partitions,[]},
加入节点rabbitmq-83为ram nodes
到此,1个disc nodes和2个ram nodes 集群配置完成,可以把任何一个ip给客户端使用,但这不是最好的方案
我们在集群前面部署一套lvs实现负载均衡,只需把lvs的vip告诉客户端即可
阅读(1552) | 评论(0) | 转发(0) |