RabbitMQ之linux服务器安装与集群搭建

RabbitMQ之linux服务器安装与集群搭建

一、安装

# 官网下载Erlang安装包和rabbitmq安装包

	erlang-22.0.7-1.el7.x86_64.rpm
	rabbitmq-server-3.7.18-1.el7.noarch.rpm
	socat-1.7.3.2-2.el7.x86_64.rpm
	
# 1、安装Erlang依赖包
	rpm -ivh erlang-22.0.7-1.el7.x86_64.rpm
	
# 2、安装socat环境包
	rpm -ivh socat-1.7.3.2-2.el7.x86_64.rpm
	
# 3、安装RabbitMQ安装包(需要联网)
	yum install -y rabbitmq-server-3.7.18-1.el7.noarch.rpm
	注意:默认安装完成后配置文件模板在:/usr/share/doc/rabbitmq-server-3.7.18/rabbitmq.config.example目录中,需要将配置文件复制到/etc/rabbitmq/目录中,并修改名称为rabbitmq.config
	

# 4、复制配置文件
	cp /usr/share/doc/rabbitmq-server-3.7.18/rabbitmq.config.example /etc/rabbitmq/rabbitmq.config
	
# 5、查看配置文件位置
	ls /etc/rabbitmq/rabbitmq.config
	
# 6、修改配置文件(参见下图)
	vim /etc/rabbitmq/rabbitmq.config

在这里插入图片描述

# 将上图中配置文件中红色部分去掉%%,以及最后的“,”   修改为下图

在这里插入图片描述

# 7、执行如下命令,启动rabbitmq中的插件管理
	rabbitmq-plugins enable rabbitmq_management	
	
	出现如下:
	Enabling plugins on node rabbit@localhost:
	rabbitmq_management
	The following plugins have been configured:
	  rabbitmq_management
	  rabbitmq_management_agent
	  rabbitmq_web_dispatch
	Applying plugin configuration to rabbit@localhost:
	The following plugins have been enabled:
	  rabbitmq_management
	  rabbitmq_management_agent
	  rabbitmq_web_dispatch
	  
	set 3 plugins.
	Offline change;changes will take effect at broker restart.

# 8、启动RabbitMQ服务
	systemctl start rabbitmq-server
	systemctl restart rabbit-server
	systemctl status rabbitmq-server
	systemctl stop rabbitmq-server
	
# 9、浏览器访问
	http://xx.xx.xx.xx:15672
	默认用户名和密码:guest guest

二、集群搭建

1、主从集群

注:主从集群,一旦主节点宕机,所有从节点不可用,主节点恢复,从节点消息队列恢复到主节点,作用相当于备份主节点数据

在这里插入图片描述

# 1、克隆三台机器主机名和ip映射
	vim /etc/hosts
	xx.xx.xx.xx mq1
	xx.xx.xx.xx mq2
	xx.xx.xx.xx mq3
	
	node1:vim  /etc/hostname 加入:mq1
	node2:vim  /etc/hostname 加入:mq2
	node3:vim  /etc/hostname 加入:mq3
	
# 2、三个机器安装rabbitmq,并同步cookie文件,在node1上执行:
	scp /var/lib/rabbitmq/.erlang.cookie root@mq2:/var/lib/rabbitmq/
	scp /var/lib/rabbitmq/.erlang.cookie root@mq3:/var/lib/rabbitmq/
	
# 3、查看cookie是否一致
	cat /var/lib/rabbitmq/.erlang.cookie
	
# 4、后台启动rabbitmq所有节点,执行如下命令,启动成功访问管理界面
	rabbitmq-server -detached
	
# 5、在node2和node3执行加入集群命令
	1.关闭	rabbitmqctl stop_app
	2.加入集群	rabbitmqctl join_cluster rabbit@mq1
	3.启动服务	rabbitmqctl start_app
	
# 6、查看集群状态
	rabbitmqctl cluster_status

在这里插入图片描述

2、镜像集群

镜像队列机制就是将队列在三个节点之间设置主从关系,消息会在三个节点之间进行自动同步,且如果其中一个节点不可用,并不会导致消息丢失或服务不可用的情况,提升MQ集群的整体高可用性。

在这里插入图片描述

# 策略说明
	rabbitmqctl set_policy [-p <vhost>] [--priority <priority>] [--apply-to <apply-to>] <name> <pattern> <definition>
	
	-p Vhost:可选参数,针对指定vhost下的queue进行设置
	name:policy的名称
	pattern:queue的匹配模式(正则表达式)
	definition:镜像定义,包括三个部分ha-mode,ha-params,ha-sync-mode
				ha-mode:指明镜像队列的模式,有效值为:all/exactly/nodes
					all:表示在集群中所有的节点上进行镜像
					exactly:表示在指定个数的节点上进行镜像,节点的个数由ha-params指定
					nodes:表示在指定的节点上进行镜像,节点名称通过ha-params指定
				ha-params:ha-mode模式需要用到的参数
				ha-sync-mode:进行队列中消息的同步方式,有效值为automatic和manual
				priority:可选参数,policy的优先级
# 1、查看当前策略
	rabbitmqctl list_policies
	
# 2、添加策略
	rabbitmqctl set_policy ha-all '^hello' '{"ha-mode":"all","ha-sync-mode":"automatic"}'
	说明:策略正则表达式为"^" 表示所有匹配所有队列名称 ^hello:匹配hello开头队列,"^"不写hello为匹配所有队列
	
# 3、删除策略
	rabbitmqctl clear_policy ha-all
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

-七秒钟记忆

微薄打赏,小编的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值