热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Linux安装RabbitMQ教程Linux搭建集群教程

01、安装前准备 1:下载地址:https://www.rabbitmq.com/download.html 2:环境准备:CentOS7.x+ / Erlang RabbitMQ是采用Erlang语

01、安装前准备
1:下载地址:https://www.rabbitmq.com/download.html
2:环境准备:CentOS7.x+ / Erlang
RabbitMQ是采用Erlang语言开发的,所以系统环境必须提供Erlang环境,第一步就是安装Erlang。

erlang和RabbitMQ版本的按照比较: https://www.rabbitmq.com/which-erlang.html

在里面查看你需要的RabbitMQ版本以及Erlang俩个版本一定要配套
我下载的是 esl-erlang_23.3.1-1_centos_7_amd64.rpm和rabbitmq-server-3.8.13-1.el8.noarch.rpm
网盘地址:链接:https://www.aliyundrive.com/s/zVbVwKEpp95

01、安装步骤
使用xftp工具将上面下载的两个文件复制到usr/local下
在这里插入图片描述
使用xshell 进入到 cd /usr/local/下
在这里插入图片描述
先升级 yum 输入 yum update
然后解压输入:rpm -Uvh esl-erlang_23.3.1-1_centos_7_amd64.rpm
结束后执行:yum install -y esl-erlang_23.3.1-1_centos_7_amd64.rpm进行安装
接着安装socat yum install socat
解压rabbitmq rpm -Uvh rabbitmq-server-3.8.13-1.el8.noarch.rpm
systemctl start rabbitmq-server 启动服务
systemctl status rabbitmq-server 查看状态
systemctl enable rabbitmq-server 开机自启
接下来安装可是话界面:
需要在sbin目录下执行

umask 0022
rabbitmq-plugins enable rabbitmq_management

不是自己买的服务器的话安装需要检查 /etc下的host文件中有没有新增192.168.2.132 F
前面为主机ip 后面为主机名
在这里插入图片描述新增用户(之所以新增是因为guest用户是只允许本地访问) rabbitmqctl add_user admin admin设置用户分配操作权限

rabbitmqctl set_user_tags admin administrator

用户级别:

  • 1、administrator 可以登录控制台、查看所有信息、可以对rabbitmq进行管理
  • 2、monitoring 监控者 登录控制台,查看所有信息
  • 3、policymaker 策略制定者 登录控制台,指定策略
  • 4、managment 普通管理员 登录控制台
    接下来关闭防火墙,我是在虚拟机安装的
    关闭防火墙:systemctl stop firewalld
    停止并禁用开机启动 sytemctl disable firewalld
    同时关闭selinux:setsebool -P nix_enabled 1
    或者是

开启需要的端口
firewall-cmd --zOne=public --add-port=15672/tcp --permanent
firewall-cmd --zOne=public --add-port=5672/tcp --permanent
firewall-cmd --zOne=public --add-port=25672/tcp --permanent
firewall-cmd --zOne=public --add-port=1883/tcp --permanent
firewall-cmd --zOne=public --add-port=8883/tcp --permanent
firewall-cmd --zOne=public --add-port=61613/tcp --permanent
firewall-cmd --zOne=public --add-port=61614/tcp --permanent
firewall-cmd --zOne=public --add-port=15674/tcp --permanent
firewall-cmd --zOne=public --add-port=15675/tcp --permanent

这样外部就可以访问了
接下来是配置集群
先对rabbitmq集群了解一下:

https://www.jianshu.com/p/b7cc32b94d2a

准备两台Centos7的机器,hostname分别为:F , G .(我是配置一台后然后用VMware Workstation Pro 克隆几台,克隆之后主机名一定要改,否则集群会无法搭建)

2、IP地址分别为:F—192.168.2.132 , G—192.168.2.133。

3、修改hosts文件如下,下面是G这台机器的hosts文件内容,F也需要如下配置:

[root@G bin]# cat /etc/hosts
127.0.0.1 G localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 G localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.2.132 G
192.168.2.133 F

要是多台的话每台的host里的内容都要一致
保证两台机器都能够相互ping通
在上述的两台机器上安装rabbitmq完成之后,你可以看到你的机器中有如下1个文件。路径在$HOME中或者在/var/lib/rabbitmq中,文件名称为.erlang.COOKIE,他是一个隐藏文件。那么这文件存储的内容是什么,是做什么用的呢?

这样说吧:RabbitMQ的集群是依赖erlang集群,而erlang集群是通过这个COOKIE进行通信认证的,因此我们做集群的第一步就是同步COOKIE,将两台机器中的.erlang.COOKIE文件内容保持一致.
保持一致后,先对F操作

普通模式的搭建

sudo rabbitmqctl stop_app
sudo rabbitmqctl reset
sudo rabbitmqctl start_app

然后对G操作

sudo rabbitmqctl stop_app
sudo rabbitmqctl reset
sudo rabbitmqctl join_cluster rabbit@F --ram 将G添加到集群中去
sudo rabbitmqctl start_app

这样就搭建完毕
上述配置的RabbitMQ默认集群模式,但并不包管队列的高可用性,尽管互换机、绑定这些可以复制到集群里的任何一个节点,然则队列内容不会复制。固然该模式解决一项目组节点压力,但队列节点宕机直接导致该队列无法应用,只能守候重启,所以要想在队列节点宕机或故障也能正常应用,就要复制队列内容到集群里的每个节点,须要创建镜像队列。

镜像队列是基于普通的集群模式的,所以你还是得先配置普通集群,然后才能设置镜像队列,我们就以上面的集群接着做。

我是通过上面开启的网页的管理端来设置的镜像队列,也可以通过命令,这里先说其中的网页设置方式:

1、点击admin菜单–>右侧的Policies选项–>左侧最下下边的Add/update a policy。

2、按照图中的内容根据自己的需求填写。

3、点击Add policy添加策略。

此时你就会来你的两台rabbitmq服务器的网页管理端amind菜单下看见刚才创建的队列了,下面我们来添加一个queues队列来看看效果,这里只是测试结果,其它的先不填写。

设置镜像队列策略

在任意一个节点上执行:

root@F:~ # rabbitmqctl set_policy ha-all "^" '{"ha-mode":"all"}'

将所有队列设置为镜像队列,即队列会被复制到各个节点,各个节点状态保持一直。
我们去G上查看策略。
root@G:~ # rabbitmqctl list_policies
Listing policies …
/ ha-all all ^ {“ha-mode”:“all”} 0
…done.
此时镜像集群就已经完成了,可以在任意节点上创建队列,看看其他两个节点是否会同步。

第一次写文章也不会排版…


版权声明:本文为weixin_44895420原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/weixin_44895420/article/details/121455084
推荐阅读
  • 本文介绍了数据库的存储结构及其重要性,强调了关系数据库范例中将逻辑存储与物理存储分开的必要性。通过逻辑结构和物理结构的分离,可以实现对物理存储的重新组织和数据库的迁移,而应用程序不会察觉到任何更改。文章还展示了Oracle数据库的逻辑结构和物理结构,并介绍了表空间的概念和作用。 ... [详细]
  • Metasploit攻击渗透实践
    本文介绍了Metasploit攻击渗透实践的内容和要求,包括主动攻击、针对浏览器和客户端的攻击,以及成功应用辅助模块的实践过程。其中涉及使用Hydra在不知道密码的情况下攻击metsploit2靶机获取密码,以及攻击浏览器中的tomcat服务的具体步骤。同时还讲解了爆破密码的方法和设置攻击目标主机的相关参数。 ... [详细]
  • Webmin远程命令执行漏洞复现及防护方法
    本文介绍了Webmin远程命令执行漏洞CVE-2019-15107的漏洞详情和复现方法,同时提供了防护方法。漏洞存在于Webmin的找回密码页面中,攻击者无需权限即可注入命令并执行任意系统命令。文章还提供了相关参考链接和搭建靶场的步骤。此外,还指出了参考链接中的数据包不准确的问题,并解释了漏洞触发的条件。最后,给出了防护方法以避免受到该漏洞的攻击。 ... [详细]
  • 【shell】网络处理:判断IP是否在网段、两个ip是否同网段、IP地址范围、网段包含关系
    本文介绍了使用shell脚本判断IP是否在同一网段、判断IP地址是否在某个范围内、计算IP地址范围、判断网段之间的包含关系的方法和原理。通过对IP和掩码进行与计算,可以判断两个IP是否在同一网段。同时,还提供了一段用于验证IP地址的正则表达式和判断特殊IP地址的方法。 ... [详细]
  • Windows7企业版怎样存储安全新功能详解
    本文介绍了电脑公司发布的GHOST WIN7 SP1 X64 通用特别版 V2019.12,软件大小为5.71 GB,支持简体中文,属于国产软件,免费使用。文章还提到了用户评分和软件分类为Win7系统,运行环境为Windows。同时,文章还介绍了平台检测结果,无插件,通过了360、腾讯、金山和瑞星的检测。此外,文章还提到了本地下载文件大小为5.71 GB,需要先下载高速下载器才能进行高速下载。最后,文章详细解释了Windows7企业版的存储安全新功能。 ... [详细]
  • Linux Shell脚步的格式
    Shell脚步等多个命令的组合,可以做成一个shell文件(1.sh)赋权执行执行命令的方式前两张新的进程中执行,对当前进程不产生影响(cdtmp;pwds ... [详细]
  • 【技术分享】一个 ELF 蠕虫分析
    【技术分享】一个 ELF 蠕虫分析 ... [详细]
  • Skywalking系列博客1安装单机版 Skywalking的快速安装方法
    本文介绍了如何快速安装单机版的Skywalking,包括下载、环境需求和端口检查等步骤。同时提供了百度盘下载地址和查询端口是否被占用的命令。 ... [详细]
  • 本文介绍了Linux Shell中括号和整数扩展的使用方法,包括命令组、命令替换、初始化数组以及算术表达式和逻辑判断的相关内容。括号中的命令将会在新开的子shell中顺序执行,括号中的变量不能被脚本余下的部分使用。命令替换可以用于将命令的标准输出作为另一个命令的输入。括号中的运算符和表达式符合C语言运算规则,可以用在整数扩展中进行算术计算和逻辑判断。 ... [详细]
  • Go Cobra命令行工具入门教程
    本文介绍了Go语言实现的命令行工具Cobra的基本概念、安装方法和入门实践。Cobra被广泛应用于各种项目中,如Kubernetes、Hugo和Github CLI等。通过使用Cobra,我们可以快速创建命令行工具,适用于写测试脚本和各种服务的Admin CLI。文章还通过一个简单的demo演示了Cobra的使用方法。 ... [详细]
  • STM32与FPGA的对比及学习建议
    本文对比了野火STM32F103指南针板和Xilinx的PYNQ-Z2板(ZYNQ-7020),介绍了野火STM32F103指南针板的学习资料和讲解视频的详细程度,建议初学者学习野火的资料。同时,介绍了STM32开发所用的Keil程序和C指针的重要性。对于ZYNQ-7020的开发,提到了其自带的Linux、Ubuntu18.4系统以及使用SD卡烧入镜像的方法。 ... [详细]
  • loader资源模块加载器webpack资源模块加载webpack内部(内部loader)默认只会处理javascript文件,也就是说它会把打包过程中所有遇到的 ... [详细]
  • asp中如何嵌入python的简单介绍
    本文目录一览:1、如何在IIS中执行Python脚本 ... [详细]
  • vb6集成ad登录共享文件_SCSP实验2单点登录
    01—实验目的掌握单点登陆相关原理和深信服配置02—实验环境1.AC版本v12.0.42AC1地址:https:172.172.1.1AC2地址:htt ... [详细]
  • quartus管脚分配后需要保存吗_嵌入式必须会的一些硬件面试题,要试一试吗?你过来呀!...
    1、下面是一些基本的数字电路知识问题,请简要回答之。(1)什么是Setup和Hold时间?答:SetupHoldTime用于测试芯片对输入 ... [详细]
author-avatar
艺卓显示、巴可投影
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有