安装步调
rabbitmq使用erlang开发,依靠于erlang,以是必要先下载erlang,且版本要兼容:
可在官网查察erlang与rabbitmq的版本对应关系- https://www.rabbitmq.com/docs/which-erlang
复制代码
CentOs7安装运行
下载
下载地点- https://www.rabbitmq.com/docs/download
复制代码 rabbitmq使用erlang开发,依靠于erlang,以是要先下载erlang,点击如下位置举行erlang的下载:
点击后跳转github,跳转后选择红框处25的版本,以对应当前最新的4.0.3版本mq:
然后再点击Tags后选择版本下载:
末了选择el7 x86的版本点击举行下载:
然后再下载MQ:
其分为docker下载、安装包下载,这里演示linux中CentOS7使用安装包方式下载及安装
点击如下内容:
在Direct Downloads标题下点击下载
安装运行
都下载完成后,将安装包放入linux中,然后进入安装包存放目次,实行rpm -ivh安装下令:
下令:
- 安装erlang:rpm -ivh erlang-26.2.5.5-1.el7.x86_64.rpm
- 安装rabbitmq:rpm -ivh rabbitmq-server-4.0.3-1.el8.noarch.rpm
[root@Centos7 rabbitmq]# rpm -ivh erlang-26.2.5.5-1.el7.x86_64.rpm 预备中… ################################# [100%]正在升级/安装… 1:erlang-26.2.5.5-1.el7 ################################# [100%]
[root@Centos7 rabbitmq]# rpm -ivh rabbitmq-server-4.0.3-1.el8.noarch.rpm 告诫:rabbitmq-server-4.0.3-1.el8.noarch.rpm: 头V4 RSA/SHA512 Signature, 密钥 ID 6026dfca: NOKEY预备中… ################################# [100%]正在升级/安装… 1:rabbitmq-server-4.0.3-1.el8 ################################# [100%]
安装完成后使用service rabbitmq-server start下令启动mq- [root@Centos7 rabbitmq]# service rabbitmq-server start
- Redirecting to /bin/systemctl start rabbitmq-server.service
- Job for rabbitmq-server.service failed because the control process exited with error code. See "systemctl status rabbitmq-server.service" and "journalctl -xe" for details.
复制代码 启动后假如出现上面Job for rabbitmq-server.service failed.......的失败题目,必要使用如下下令举行设置:- vi /etc/rabbitmq/rabbitmq-env.conf
复制代码 vi下令实行后,在文件内里添加这一行:NODENAME=rabbit@localhost,生存。
留意:rabbitmq-env.conf这个文件没有,打开之后自动创建。
完成设置后在重启并查察mq状态:
- 重启下令:systemctl restart rabbitmq-server
- 状态查察下令:systemctl status rabbitmq-server
如下即为乐成启动:- [root@Centos7 rabbitmq]# vi /etc/rabbitmq/rabbitmq-env.conf
- [root@Centos7 rabbitmq]# systemctl restart rabbitmq-server[root@Centos7 rabbitmq]# systemctl status rabbitmq-server● rabbitmq-server.service - RabbitMQ broker Loaded: loaded (/usr/lib/systemd/system/rabbitmq-server.service; disabled; vendor preset: disabled) Active: active (running) since 五 2024-11-15 09:22:27 CST; 11s ago Process: 8477 ExecStop=/usr/sbin/rabbitmqctl shutdown (code=exited, status=0/SUCCESS) Main PID: 8522 (beam.smp) Tasks: 25 CGroup: /system.slice/rabbitmq-server.service ├─8522 /usr/lib64/erlang/erts-14.2.5.4/bin/beam.smp -W w -MBas ageffcbf -MHas ageffcbf -MBlmbcs 512 -MHlmbcs 512 -MMmcs 30 -pc unicode -P 1048576 -t 5000000 -stbt db... ├─8536 erl_child_setup 32768 ├─8553 sh -s disksup ├─8554 /usr/lib64/erlang/lib/os_mon-2.9.1/priv/bin/memsup ├─8555 /usr/lib64/erlang/lib/os_mon-2.9.1/priv/bin/cpu_sup ├─8558 /usr/lib64/erlang/erts-14.2.5.4/bin/inet_gethost 4 ├─8559 /usr/lib64/erlang/erts-14.2.5.4/bin/inet_gethost 4 └─8563 /bin/sh -s rabbit_disk_monitor11月 15 09:22:27 Centos7 rabbitmq-server[8522]: Doc guides: https://www.rabbitmq.com/docs11月 15 09:22:27 Centos7 rabbitmq-server[8522]: Support: https://www.rabbitmq.com/docs/contact11月 15 09:22:27 Centos7 rabbitmq-server[8522]: Tutorials: https://www.rabbitmq.com/tutorials11月 15 09:22:27 Centos7 rabbitmq-server[8522]: Monitoring: https://www.rabbitmq.com/docs/monitoring11月 15 09:22:27 Centos7 rabbitmq-server[8522]: Upgrading: https://www.rabbitmq.com/docs/upgrade11月 15 09:22:27 Centos7 rabbitmq-server[8522]: Logs: /var/log/rabbitmq/rabbit@localhost.log11月 15 09:22:27 Centos7 rabbitmq-server[8522]: <stdout>11月 15 09:22:27 Centos7 rabbitmq-server[8522]: Config file(s): (none)11月 15 09:22:27 Centos7 rabbitmq-server[8522]: Starting broker... completed with 3 plugins.11月 15 09:22:27 Centos7 systemd[1]: Started RabbitMQ broker.
复制代码 开启web页面
开启rabbitmq的web管理界面
使用rabbitmq-plugins enable rabbitmq_management下令,留意开启后必要使用systemctl restart rabbitmq-server下令重启rabbitmq服务- [root@Centos7 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...
- Plugin configuration unchanged.
- [root@Centos7 rabbitmq]# systemctl restart rabbitmq-server
复制代码 完成管理页面设置后,还必要开放防火墙(假如有使用防火墙):
- 开放15672端口:firewall-cmd --zone=public --add-port=15672/tcp --permanent
- 开放5672端口:firewall-cmd --zone=public --add-port=5672/tcp --permanent
- 重启防火墙:firewall-cmd --reload
- 查察防火墙端口状态:firewall-cmd --list-all
[root@Centos7 rabbitmq]# firewall-cmd --zone=public --add-port=15672/tcp --permanent
Warning: ALREADY_ENABLED: 15672:tcp
success
[root@Centos7 rabbitmq]# firewall-cmd --zone=public --add-port=5672/tcp --permanent
Warning: ALREADY_ENABLED: 5672:tcp
success
[root@Centos7 rabbitmq]# firewall-cmd --reload
success
[root@Centos7 rabbitmq]# firewall-cmd --list-all
public (active)
target: default
icmp-block-inversion: no
interfaces: ens33
sources:
services: dhcpv6-client ssh
ports: 15672/tcp 5672/tcp 6379/tcp 8088/tcp 22/tcp 3306/tcp 8888/tcp 8080/tcp 8719/tcp 9001/tcp 443/tcp 9000/tcp
protocols:
masquerade: no
forward-ports:
source-ports:
icmp-blocks:
rich rules:
之后便可以通过欣赏器使用15672端口访问管理页面:
新增管理用户
新增管理员用户,rabbitmq默认自带一个guest用户,这里增长一个新的管理员用户方便以后使用
新增用户:
用户名暗码都是admin:- rabbitmqctl add_user admin admin
复制代码 设置用户分配操纵权限:- rabbitmqctl set_user_tags admin administrator
复制代码 administrator为用户级别,全部的级别为:
- 1、administrator 可以登录控制台、查察全部信息、可以对rabbitmq举行管理
- 2、monitoring 监控
者, 可登录控制台,查察全部信息
- 3、policymaker 战略订定者, 可登录控制台,指定战略
- 4、managment 寻常管理员, 可登录控制台
为用户添加资源权限- rabbitmqctl set_permissions -p / 用户名 ".*" ".*" ".*"
复制代码
- -p /: –p 参数反面跟的是捏造主机名称,这里 / 表现默认的根捏造主机。
- admin: 这是设置权限的用户账号。通常用于管理员操纵。
- ".*": 这是一个通配符模式,意味着对这个用户赋予了全部权限。"*" 代表恣意字符,. 代表恣意单个字符。
- ".*" 和 ".*":这两个同样是指定该用户可以实行的全部操纵,也是全部权限的表现。
这条下令的作用就是给用户 admin 在 / 捏造主机上设置了完全权限,这意味着 admin 用户可以实行全部的操纵,包罗但不限于创建、删除队列,发布、取消消息等。
控制台实行如上的下令:- [root@Centos7 rabbitmq]# rabbitmqctl add_user admin admin
- Adding user "admin" ...Done. Don't forget to grant the user permissions to some virtual hosts! See 'rabbitmqctl help set_permissions' to learn more.[root@Centos7 rabbitmq]# rabbitmqctl set_user_tags admin administrator
- Setting tags for user "admin" to [administrator] ...[root@Centos7 rabbitmq]# rabbitmqctl set_permissions -p / admin ".*" ".*" ".*"Setting permissions for user "admin" in vhost "/" ...
复制代码 使用新账号登录:
进入后在Admin页签中如下图,用户处多了新加的admin:
至此安装运行完成。
其他用户操纵下令:- rabbitmqctl change_password Username Newpassword 修改密码
- rabbitmqctl delete_user Username 删除用户
- rabbitmqctl list_users 查看用户清单
复制代码 docker安装运行
访问网址:- https://www.rabbitmq.com/docs/download
复制代码 在安装完docker的linux中实行如下下令
- docker run -it --rm --name rabbitmq -p 5672:5672 -p 15672:15672 rabbitmq:4.0-management
复制代码 该下令会自动安装rabbitmq,实行效果如下,大概会很慢,必要期待:- [root@Centos7 ~]# docker run -it --rm --name rabbitmq -p 5672:5672 -p 15672:15672 rabbitmq:4.0-management
- Unable to find image 'rabbitmq:4.0-management' locally4.0-management: Pulling from library/rabbitmqafad30e59d72: Already exists 211e97f904c7: Already exists b7d633cb09df: Already exists 0357761da170: Already exists ca95b127b98a: Already exists 3ec3ceaa0dcb: Already exists 7037c52023fb: Already exists d738327fa668: Already exists 5a286d22c8dd: Already exists e971f4d4bd73: Pull complete Digest: sha256:a0ea806ba32e6e9776aa83f66796e6c746606e669220b26359bd461c79a2ba14Status: Downloaded newer image for rabbitmq:4.0-management.........2024-11-22 01:53:31.112725+00:00 [info] <0.9.0> Time to start RabbitMQ: 3371 ms
复制代码 如下即为乐成,但是这是前台运行,shell窗口无法实行其他操纵,制止后实行如下下令转为配景启动- [root@Centos7 ~]# docker run -d --name rabbitmq -p 5672:5672 -p 15672:15672 rabbitmq:4.0-management
- 9f1174c754d6a7be62986f092de1d530fef8d69a47a40c244831de63ccb0ddad
复制代码 可查察版本信息:- [root@Centos7 ~]# docker run --rm rabbitmq rabbitmqctl version
- 4.0.3
复制代码 末了使用你的呆板ip:15672访问管理页面即可,默认用户名暗码都是guest:
管理页面参数先容
顶部标签
RabbitMQ 管理界面中的顶部标签(Overview、Connections、Channels、Exchanges、Queues and Streams、Admin)提供了对 RabbitMQ 集群的差别方面的管理和监控 功能。以下是各个标签的详细寄义和作用:
1. Overview(概览)
- 功能:
- 提供 RabbitMQ 集群或单个节点的总体运行状态。
- 表现有关队列、交换机、毗连、通道等的统计信息。
- 包罗的重要信息:
- Totals:队列中的消息总数、消息速率(每分钟发布/确认/投递的消息数量)。
- Nodes:表现全部节点的资源使用(内存、磁盘、CPU、Erlang 历程等)。
- Churn Statistics:统计毗连的创建和关闭速率。
2. Connections(毗连)
- 功能:
- 表现全部客户端到 RabbitMQ 的 TCP 毗连。
- 答应您查察每个毗连的详细信息。
- 包罗的重要信息:
- 客户端 IP 和端标语。
- 协议(如 AMQP 0-9-1)。
- 与该毗连干系的通道数量。
- 状态(如 running 或 idle)。
- 操纵:
3. Channels(通道)
- 功能:
- 表现 RabbitMQ 中全部的 AMQP 通道。
- 通道是 RabbitMQ 的逻辑通讯通道,客户端通过它们与 RabbitMQ 交换数据。
- 包罗的重要信息:
- 通道的状态(如空闲或活动)。
- 与通道关联的毗连。
- 消息流速率(如发布、确认)。
- 操纵:
4. Exchanges(交换机)
- 功能:
- 列出 RabbitMQ 中的全部交换机。
- 交换机用于根据路由键将消息转发到得当的队列。
- 包罗的重要信息:
- 交换机的范例(如 direct、fanout、topic、headers)。
- 是否长期化(Durable)和是否自动删除(Auto-delete)。
- 消息路由统计信息。
- 操纵:
5. Queues and Streams(队列和流)
- 功能:
- 列出全队伍列和流(Streams),并表现每个队列的详细信息。
- 队列是存储消息的地方,消耗者可以从中获取消息。
- 流是一种特别的队列范例,恰当高吞吐量消息。
- 包罗的重要信息:
- 队列名称、队列中的消息数、消耗者数量。
- 消息的入队和出队速率。
- 消耗者简直认和拒绝统计。
- 操纵:
- 查察消息详细信息(如消息内容和元数据)。
- 删除队列或流。
6. Admin(管理)
- 功能:
- 包罗的重要功能:
- Users(用户管理):
- 管理 RabbitMQ 的用户账户。
- 设置权限(VHost 的访问权限)。
- Policies(战略):
- 界说 RabbitMQ 的战略,用于自动化操纵(如队列的 TTL、镜像队列等)。
- Permissions(权限管理):
- Parameters(插件参数):
- 设置 RabbitMQ 插件(如 Shovel、Federation)。
- Virtual Hosts(捏造主机):
- 操纵:
- 管理用户和战略。
- 设置与捏造主机和插件干系的参数。
这些标签页面让用户可以从差别维度监控 和管理 RabbitMQ 集群,恰当处理处罚一样寻常运维使命以及排盘题目。
概要信息
在 RabbitMQ 管理界面的 Nodes 节点中,以下是各列的详细寄义:
- Name (名称)
- 表现 RabbitMQ 节点的名称,格式通常为 rabbit@主机名。
- 这个名称是由 RabbitMQ 启动时的主机名和 RabbitMQ 服务名称构成的,用来标识当前节点。
- File Descriptors (文件形貌符)
- 当前节点使用的文件形貌符数量和可用文件形貌符的上限。
- 绿色部分表现当前使用的文件形貌符数。
- 右侧数字表现总文件形貌符限定(比方 1048576 available)。
- 假如到达上限,大概会影响 RabbitMQ 的正常运行,由于文件形貌符用于毗连、日记等操纵。
- Erlang Processes (Erlang 历程)
- 当前节点的 Erlang 捏造机(BEAM)运行的历程数量和可用历程上限。
- 绿色部分表现当前运行的 Erlang 历程数。
- 右侧数字表现总历程限定(比方 1048576 available)。
- Erlang 历程是 RabbitMQ 的根本构件,用于处理处罚消息、通道、毗连等。
- Memory (内存)
- 当前 RabbitMQ 节点使用的内存巨细。
- 绿色部分表现当前使用的内存量(比方 183 MiB)。
- 右侧数字表现内存的高水位值(比方 4.6 GiB high watermark)。凌驾高水位时,RabbitMQ 大概会停息处理处罚消息以防止过载。
- Disk Space (磁盘空间)
- 当前 RabbitMQ 节点使用的磁盘空间量。
- 绿色部分表现磁盘可用空间(比方 11 GiB)。
- 右侧数字表现低水位值(比方 48 MiB low watermark)。假如磁盘可用空间小于低水位值,RabbitMQ 会制止担当新消息。
- Uptime (运行时间)
- 当前节点从启动到现在的运行时间,格式为 时:分:秒(比方 7m 3s 表现已运行 7 分钟 3 秒)。
- Cores (核心数)
- 当前节点使用的 CPU 核心数(比方 128)。
- 核心数量大概与体系分配的资源有关。
- Info (信息)
- 包罗节点的运行状态、范例或其他信息标记。
- basic 表现根本信息。
- 其他标记(如 rss)大概与内存管理有关。
- Reset Stats (重置统计数据)
- 按下 This Node 按钮可以重置该节点的统计数据。
- 按下 All Nodes 按钮可以重置集群中全部节点的统计数据。
通过这些列,您可以直观地查察和监控 RabbitMQ 节点的资源使用和运行状态,便于判定节点是否运行正常。
卸载RabbitMQ
先制止RabbitMq服务- systemctl stop rabbitmq-server
复制代码 查察并卸载rabbitmq安装的干系列表
查察下令:卸载下令(直接实行即可):- yum -y remove rabbitmq-server.noarch
复制代码 查察并卸载erlang安装的干系软件包
查察下令:卸载下令(直接实行即可):查找并删除erlang干系文件- whereis erlang
- [root@Centos7 ~]# whereis erlang
- erlang: /usr/lib64/erlang
复制代码 删除上面查出的erlang干系文件:- [root@Centos7 ~]# rm -rf /usr/lib64/erlang
复制代码 然后卸载完成。
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
|