RabbitMQ本地部署(Centos 7.4)

服务介绍

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
#日志级别控制(info/debug/warning/error)默认info
log.file.level=info

安装优化

设置服务开机自启动

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 
#设置节点名称
RABBITMQ_NODENAME=rabbit@node1

重启服务加载配置

重启如果报错提示权限问题需给数据目录授权
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: 5s
    metrics_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
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
rabbitmq是一种高度可靠、可扩展、可插拔的消息代理,用于在分布式系统中传递消息。在实际的生产环境中,为保证高可用性,需要搭建rabbitmq集群。本文将介绍在CentOS 7上搭建rabbitmq集群的步骤。 1. 安装erlang rabbitmq是由erlang语言开发的,因此需要先安装erlang。执行以下命令: ``` sudo yum install epel-release sudo yum install erlang ``` 2. 安装rabbitmq 执行以下命令: ``` sudo yum install rabbitmq-server ``` 3. 配置防火墙 如果你使用的是CentOS 7的默认防火墙firewalld,需要打开5672和15672端口,执行以下命令: ``` sudo firewall-cmd --zone=public --permanent --add-port=5672/tcp sudo firewall-cmd --zone=public --permanent --add-port=15672/tcp sudo firewall-cmd --reload ``` 4. 配置rabbitmq 编辑rabbitmq配置文件,执行以下命令: ``` sudo vi /etc/rabbitmq/rabbitmq-env.conf ``` 添加以下内容: ``` NODE_IP_ADDRESS=your_node_ip_address ``` 其中,your_node_ip_address为节点的IP地址。 5. 启动rabbitmq 执行以下命令: ``` sudo systemctl start rabbitmq-server ``` 6. 设置rabbitmq集群 首先需要停止rabbitmq服务,执行以下命令: ``` sudo systemctl stop rabbitmq-server ``` 然后在rabbitmq配置文件中添加以下内容,执行以下命令: ``` sudo vi /etc/rabbitmq/rabbitmq.config ``` ``` [ {rabbit, [ {cluster_nodes, {['rabbit@node1', 'rabbit@node2', 'rabbit@node3'], disc}} ]} ]. ``` 其中,'rabbit@node1', 'rabbit@node2', 'rabbit@node3'为集群中各节点的名称,disc表示使用磁盘节点。 接下来需要在各个节点上将rabbitmq加入到集群中,执行以下命令: ``` sudo rabbitmqctl stop_app sudo rabbitmqctl join_cluster rabbit@node1 sudo rabbitmqctl start_app ``` 其中,rabbit@node1为集群中的一个节点名称。 最后,启动rabbitmq服务,执行以下命令: ``` sudo systemctl start rabbitmq-server ``` 到此,rabbitmq集群搭建完成。可以通过访问节点IP地址加端口号15672来访问rabbitmq的web管理界面,输入用户名和密码即可登录。在web界面上可以查看rabbitmq节点的状态、队列的状态等信息。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值