服务介绍

RabbitMQ是一套开源(MPL)的消息队列服务软件,是由 LShift 提供的一个 Advanced Message Queuing Protocol (AMQP) 的开源实现,由以高性能、健壮以及可伸缩性出名的 Erlang 写成。

服务安装

RPM包安装方式

mq版本:3.8.16,Elang:23.2.7

rabbitmq下载地址

Elang下载地址

RabbitMQ官网: https://www.rabbitmq.com

安装elang

yum localinstall -y erlang-23.2.7-1.el7.x86_64.rpm

查看Elang版本

erl -v

安装rabbitmq

yum localinstall -y rabbitmq-server-3.8.16-1.el7.noarch.rpm

查看RabbitMQ版本

 rabbitmqctl status|grep RabbitMQ

配置文件位置 : /etc/rabbitmq(默认安装没有配置文件如有需要需自行创建)

rabbitmq.conf 主配置文件
enabled_plugins 加载模块配置文件
rabbitmq-env.conf 环境变量配置文件

编写主配置文件

Vim /etc/rabbitmq/rabbitmq.conf
#禁止来宾访问
loopback_users.guest = false
#监听端口
listeners.tcp.default = 5672
#默认用户名和密码
default_pass = admin
default_user = admin
#WEB管理端端口
management.tcp.port = 15672
management.tcp.ip = 0.0.0.0
#WEB默认访问路径(建议不配置)
management.path_prefix=mq

安装优化

设置服务开机自启动

systemctl enable rabbitmq-server

修改日志和数据存储位置
默认数据存储位置: /var/lib/rabbitmq
默认日志存储位置: /var/log/rabbitmq

vim /etc/rabbitmq/rabbitmq-env.conf
#添加如下两行内容
RABBITMQ_MNESIA_BASE=/data/rabbitmq/data
RABBITMQ_LOG_BASE=/data/rabbitmq/logs

重启服务加载配置

重启如果报错提示权限问题需给数据目录授权
chown -R rabbitmq:rabbitmq /data/rabbitmq

systemctl restart rabbitmq-server

开启WEB管理端(配置文件默认会加载如果不生效再执行)

rabbitmq-plugins enable rabbitmq_management
#添加管理用户并授权
rabbitmqctl add_user admin admin
rabbitmqctl set_user_tags admin administrator

加载业务所需模块

rabbitmq-plugins enable rabbitmq_random_exchange rabbitmq_recent_history_exchange rabbitmq_recent_history_exchange rabbitmq_sharding rabbitmq_shovel rabbitmq_shovel_management rabbitmq_top rabbitmq_tracing rabbitmq_trust_store rabbitmq_web_mqtt rabbitmq_web_mqtt_examples rabbitmq_web_stomp rabbitmq_web_stomp_examples rabbitmq_prometheus  rabbitmq_jms_topic_exchange rabbitmq_consistent_hash_exchange rabbitmq_event_exchange

查看模块列表

rabbitmq-plugins list

修改默认端口

修改MQ默认端口(5672)

vim /etc/rabbitmq.conf
#默认端口5672,允许远程访问
listeners.tcp.default = 5673

修改默认管理端口(15672)

vim /etc/rabbitmq.conf
#web管理,默认15672
management.tcp.port = 15673

修改Elang服务端口(25672)

vim /etc/rabbitmq-env.conf
#Erlang分发服务器端口,默认25672
DIST_PORT=25673

修改EPMD端口(4369)

vim /etc/rabbitmq-env.conf
#EPMD端口,默认4369
export ERL_EPMD_PORT=4368

Rabbitmq接入prometheus

从3.8.0开始,RabbitMQ提供内置的Prometheus和Grafana支持。
rabbitmq_prometheus插件中提供了对Prometheus指标收集的支持。该插件以Prometheus文本格式在专用的TCP端口(默认端口15692)上公开所有RabbitMQ指标。
rabbitmq_prometheus插件是RabbitMQ指标的核心导出器,由RabbitMQ核心团队开发。这是一个干净的设计,用于替换kbudde/rabbitmq_exporter,kbudde/rabbitmq_exporter由Prometheus开发用于RabbitMQ指标收集。

开启rabbitmq_prometheus插件

rabbitmq-plugins enable  rabbitmq_prometheus

查看监控端口

netstat -anptl | grep 15692

查看是否输出监控数据

curl http://127.0.0.1:15692/metrics

输出如下指标则正常

编辑prometheus配置文件添加如下内容

vim prometheus.yml- job_name: 'RabbitMQ'scrape_interval: 5smetrics_path: '/metrics'static_configs:- targets: [''MQ地址':15692']

重载prometheus配置

curl -X POST "prometheusIP":9090/-/reload

查看是否接入成功(http:“prometheusIP”:9090/targets)
指标显示正常则接入成功
或者prometheus搜索MQ任意指标
导入grafana监控视图

11362

常用命令

服务状态控制

启动rabbitmq

systemctl start rabbitmq-server

停止rabbitmq

systemctl stop rabbitmq-server

重启rabbitmq

systemctl restart rabbitmq-server

查看rabbitmq服务状态

systemctl status rabbitmq-server

设置rabbitmq服务开机自启动

systemctl enable rabbitmq-server

插件控制

加载RabbitMQ-Web管理界面插件

rabbitmq-plugins enable rabbitmq_management

加载rabbitmq所需插件

rabbitmq-plugins enable rabbitmq_random_exchange rabbitmq_recent_history_exchange rabbitmq_recent_history_exchange rabbitmq_sharding rabbitmq_shovel rabbitmq_shovel_management rabbitmq_top rabbitmq_tracing rabbitmq_trust_store rabbitmq_web_mqtt rabbitmq_web_mqtt_examples rabbitmq_web_stomp rabbitmq_web_stomp_examples rabbitmq_prometheus  rabbitmq_jms_topic_exchange rabbitmq_consistent_hash_exchange rabbitmq_event_exchange

查看rabbitmq插件列表

rabbitmq-plugins list

查看状态版本

查看rabbitmq版本

 rabbitmqctl status|grep RabbitMQ

查看rabbitmq状态

 rabbitmqctl status

用户管理

添加用户

rabbitmqctl add_user 用户名 密码

查看用户清单

rabbitmqctl list_users

修改密码

rabbitmqctl change_ password 用户名 新密码

删除用户

rabbitmqctl delete_user 用户名

用户授权

设置用户角色,分配操作权限

rabbitmqctl set_user_tags 用户名 角色

角色权限

administrator:可以登录控制台、查看所有信息、并对rabbitmq进行管理
monToring:监控者;登录控制台,查看所有信息
policymaker:策略制定者;登录控制台指定策略
managment:普通管理员;登录控制

给用户授权admin

rabbitmqctl set_user_tags 用户 administrator

为用户添加资源权限(授予访问虚拟机根节点的所有权限)

rabbitmqctl set_permissions -p / 用户名 ".*" ".*" ".*"

vhos操作

添加Vhost

rabbitmqctl add_vhost  名称

删除vhost

rabbitmqctl   delete_vhost 名称

查看vhost列表

rabbitmqctl list_vhosts

RabbitMQ本地部署(Centos 7.4)相关推荐

  1. 云原生之使用docker部署centos系统测试环境

    云原生之使用docker部署centos系统测试环境 一.检查本地服务器系统版本 二.检查docker版本 三.检查docker状态 四.下载centos镜像 五.创建centos容器 1.运行cne ...

  2. Docker系列之RabbitMQ安装部署教程

    Docker系列之RabbitMQ安装部署教程 因为学习RabbitMQ需要,需要安装RabbitMQ,网上找资料,RabbitMQ官方提供了window版.Linux版.Docker版的管理页面,为 ...

  3. KVM虚拟化部署Centos

    KVM虚拟化部署Centos 虚拟化技术 虚拟化技术发展 虚拟化类型 KVM简介: kvm项目 虚拟化技术 通过虚拟化技术奖一台计算机虚拟为多台逻辑计算机,在一台计算机上同时运行多个逻辑计算机同时每个 ...

  4. A054_Linux本地部署_华为云远程部署

    目录 1.内容介绍 2.Linux本地部署 2.1.引入 2.2.上传所需文件 2.3.安装jdk 1.8 2.4.安装mysql 2.4.1.Mysql卸载 2.4.2.Mysql安装 2.4.3. ...

  5. 离线使用OBD本地部署单节点OceanBase

    离线使用OBD本地部署单副本单节点社区版OceanBase 一:检查软硬件的要求 软件资源介绍: OceanBase 数据库是一个分布式集群产品,在生产环境中至少要求三台机器,学习环境可以部署单机版本 ...

  6. 本地部署SpringBootInitializr 【最新版】

    本地部署SpringBootInitializr [最新版] 几十年没写东西了,今天记录一个折腾 SpringBootInitializr 这东西不用介绍了, 在这里,git在这里 如果用IDEA或者 ...

  7. 最新发布| Jira官宣中国区本地部署特殊政策,公布Data Center价格

    ​Atlassian官方发布Jira Server版停售消息至今已3个月,面对中国区用户的抗议,官方终于于2021年2月2日推出针对性政策,即将DC版准入门槛从500人下调至25人,并于2月5日召开发 ...

  8. django部署iiswin10_基于Windows平台的Django在本地部署和腾讯云服务器上部署的方法教程(一)...

    环境: VS2015 IIS python3.6.1 django 1.11.14 打开VS2015,新建一个django项目. 这里注意一点:确保python的安装路径中没有中文,没有空格. 我的安 ...

  9. easy-mock本地部署成功,访问报错:EADDRNOTAVAIL 0.0.0.0:7300 解决方案

    easy-mock本地部署成功,访问报错:EADDRNOTAVAIL 0.0.0.0:7300 解决方案 参考文章: (1)easy-mock本地部署成功,访问报错:EADDRNOTAVAIL 0.0 ...

最新文章

  1. R语言威布尔分布函数F Distribution(dweibull, pweibull, qweibull rweibull )实战
  2. marsony布局出现的错误 (三)
  3. open flash chart2 php,open flash chart2 图表导出到PDF,服务端语言为PHP
  4. python单元测试工具_Python的单元测试工具——unittest小结
  5. VTK:Snippets之ReadPolyData
  6. Java集合-ArrayList源码解析-JDK1.8
  7. 嵌入式常见笔试题总结(5)
  8. springmvc+swagger构建Restful风格文档
  9. python中head_Python(Head First)学习笔记:二
  10. Spring boot 连接 sqlserver
  11. 计算机清理的作用,电脑也有自带的垃圾清理功能,甚至比众多清理软件更好用!...
  12. 【IT基础】如何休息(每天都很累,但你真的会正确的休息方式么)
  13. 【OpenCV 例程200篇】37. 图像的灰度化处理和二值化处理(cv2.threshold)
  14. QCon 北京|Apache Pulsar:云原生时代的消息服务
  15. golang mysql 非阻塞_Golang 实现轻量、快速的基于 Reactor 模式的非阻塞 TCP 网络库...
  16. Java学习简单画椭圆
  17. 安全邮箱是什么邮箱?怎么登录163邮箱?
  18. thinkpad重装系统不引导_联想Y400电脑装WIN7无法重装系统的解决方法
  19. 【醒悟】揭露炸鸡鸭背后的真相:一位良心发现者的自白
  20. TCP三次握手和劫持原理与实例

热门文章

  1. MySQL备份——(十)
  2. 阳振坤:当我们在谈论金融级分布式数据库的时候,其实是在说性能的代价
  3. 论文笔记-VulDeeLocator: A Deep Learning-based Fine-grained Vulnerability Detector
  4. Unity TimeLine丨B.赛车过场动画制作及视频展示
  5. 8192EU无线网卡在ubuntu14.04下驱动编译错误解决
  6. 蹒跚学步——工作日记20070306
  7. 在Linux中安装QQ2008
  8. 使用Foxmail管理邮件
  9. 超级电容器用石墨烯的全球与中国市场2022-2028年:技术、参与者、趋势、市场规模及占有率研究报告
  10. 聪明人管理配电室,都是这样搞定的!