赞
踩
原文网址:RabbitMQ--安装/配置/使用_IT利刃出鞘的博客-CSDN博客
本文介绍RabbitMQ的安装及配置方法及其常用操作。
Windows安装:Windows安装RabbitMQ的方法_IT利刃出鞘的博客-CSDN博客
官方教程:Getting started with RabbitMQ — RabbitMQ
启动报错
org.springframework.amqp.AmqpIOException: java.io.IOException….
问题原因
解决方法(给rabbitmq新增的用户授权)
1.打开RabbitMq web管理界面,进入该页面,点击用户名称
2.点击 set premission 按钮,就ok了
再去本地启动一下项目,使用这个用户。发现不报错了。
开发的过程中,有些事件会因为代码的不完善消费失败,然后就会一直消费,然后一直报错。当bug修复,把正确的代码上传到开发环境,原先遗留的问题消息任然存在,并且会阻塞队列,让之后的正常的消息无法让系统正常的消费。
法1:通过网页删除(消息多时会报错)
找到指定队列
在下方的 Delete / Purge 中点击 Delete 或者是 Purge 都可以达到效果(delete:删除消息与队列;purge:只删消息)
缺点:消息多的时候点击,页面会卡死。即使没有卡死也会出现如下对话框:
网上也没有搜索到什么有用的答案。只找到一句话,来自:https://blog.csdn.net/u011973...
如果队列的主节点不可用,则非镜像队列的行为取决于其持久性。在节点恢复正常之前,持久化队列将不可用。在集群中其他节点上对主节点不可用的持久化队列进行任何操作都将失败
法2:重置RabbitMQ
- rabbitmqctl stop_app
- rabbitmqctl reset
- rabbitmqctl start_app
执行了一次之后确实是有效的。重启的RabbitMq,然后里面的消息也确实清空了。
缺点:不仅会清空消息,还会清空所有配置信息。
法3:命令删除指定的队列
下边三个都可以
rabbitmqctl purge_queue ${queue_name}
rabbitmqctl purge_queue ${queue_name}
rabbitmqctl -p ${vhostpath} purge_queue ${queue_name}
也可以使用rabbitmqadmin
rabbitmqadmin delete queue name='queuename'
其他网址
记一次删除 RabbitMQ 消息的经历 - 个人文章 - SegmentFault 思否
rabbitmqctl --help
- Error:
-
- [Usage]
-
- rabbitmqctl [--node <node>] [--timeout <timeout>] [--longnames] [--quiet] <command> [<command options>]
-
- Available commands:
-
- [Help]
-
- help Displays usage information for a command
- version Displays CLI tools version
-
- [Nodes]
-
- await_startup Waits for the RabbitMQ application to start on the target node
- reset Instructs a RabbitMQ node to leave the cluster and return to its virgin state
- rotate_logs Instructs the RabbitMQ node to perform internal log rotation
- shutdown Stops RabbitMQ and its runtime (Erlang VM). Monitors progress for local nodes. Does not require a PID file path.
- start_app Starts the RabbitMQ application but leaves the runtime (Erlang VM) running
- stop Stops RabbitMQ and its runtime (Erlang VM). Requires a local node pid file path to monitor progress.
- stop_app Stops the RabbitMQ application, leaving the runtime (Erlang VM) running
- wait Waits for RabbitMQ node startup by monitoring a local PID file. See also 'rabbitmqctl await_online_nodes'
-
- [Cluster]
-
- await_online_nodes Waits for <count> nodes to join the cluster
- change_cluster_node_type Changes the type of the cluster node
- cluster_status Displays all the nodes in the cluster grouped by node type, together with the currently running nodes
- force_boot Forces node to start even if it cannot contact or rejoin any of its previously known peers
- force_reset Forcefully returns a RabbitMQ node to its virgin state
- forget_cluster_node Removes a node from the cluster
- join_cluster Instructs the node to become a member of the cluster that the specified node is in
- rename_cluster_node Renames cluster nodes in the local database
- update_cluster_nodes Instructs a cluster member node to sync the list of known cluster members from <seed_node>
-
- [Replication]
-
- cancel_sync_queue Instructs a synchronising mirrored queue to stop synchronising itself
- sync_queue Instructs a mirrored queue with unsynchronised mirrors (follower replicas) to synchronise them
-
- [Users]
-
- add_user Creates a new user in the internal database
- authenticate_user Attempts to authenticate a user. Exits with a non-zero code if authentication fails.
- change_password Changes the user password
- clear_password Clears (resets) password and disables password login for a user
- delete_user Removes a user from the internal database. Has no effect on users provided by external backends such as LDAP
- list_users List user names and tags
- set_user_tags Sets user tags
-
- [Access Control]
-
- clear_permissions Revokes user permissions for a vhost
- clear_topic_permissions Clears user topic permissions for a vhost or exchange
- list_permissions Lists user permissions in a virtual host
- list_topic_permissions Lists topic permissions in a virtual host
- list_user_permissions Lists permissions of a user across all virtual hosts
- list_user_topic_permissions Lists user topic permissions
- list_vhosts Lists virtual hosts
- set_permissions Sets user permissions for a vhost
- set_topic_permissions Sets user topic permissions for an exchange
-
- [Monitoring, observability and health checks]
-
- environment Displays the name and value of each variable in the application environment for each running application
- list_bindings Lists all bindings on a vhost
- list_channels Lists all channels in the node
- list_ciphers Lists cipher suites supported by encoding commands
- list_connections Lists AMQP 0.9.1 connections for the node
- list_consumers Lists all consumers for a vhost
- list_exchanges Lists exchanges
- list_hashes Lists hash functions supported by encoding commands
- list_queues Lists queues and their properties
- list_unresponsive_queues Tests queues to respond within timeout. Lists those which did not respond
- node_health_check Performs several opinionated health checks of the target node
- ping Checks that the node OS process is up, registered with EPMD and CLI tools can authenticate with it
- report Generate a server status report containing a concatenation of all server status information for support purposes
- schema_info Lists schema database tables and their properties
- status Displays status of a node
-
- [Parameters]
-
- clear_global_parameter Clears a global runtime parameter
- clear_parameter Clears a runtime parameter.
- list_global_parameters Lists global runtime parameters
- list_parameters Lists runtime parameters for a virtual host
- set_global_parameter Sets a runtime parameter.
- set_parameter Sets a runtime parameter.
-
- [Policies]
-
- clear_operator_policy Clears an operator policy
- clear_policy Clears (removes) a policy
- list_operator_policies Lists operator policy overrides for a virtual host
- list_policies Lists all policies in a virtual host
- set_operator_policy Sets an operator policy that overrides a subset of arguments in user policies
- set_policy Sets or updates a policy
-
- [Virtual hosts]
-
- add_vhost Creates a virtual host
- clear_vhost_limits Clears virtual host limits
- delete_vhost Deletes a virtual host
- list_vhost_limits Displays configured virtual host limits
- restart_vhost Restarts a failed vhost data stores and queues
- set_vhost_limits Sets virtual host limits
- trace_off
- trace_on
-
- [Node configuration]
-
- decode Decrypts an encrypted configuration value
- encode Encrypts a sensitive configuration value
- set_cluster_name Sets the cluster name
- set_disk_free_limit Sets the disk_free_limit setting
- set_log_level Sets log level in the running node
- set_vm_memory_high_watermark Sets the vm_memory_high_watermark setting
-
- [Definitions]
-
- export_definitions Exports definitions in JSON or compressed Erlang Term Format.
- import_definitions Imports definitions in JSON or compressed Erlang Term Format.
-
- [Feature flags]
-
- enable_feature_flag Enables a feature flag on target node
- list_feature_flags Lists feature flags
-
- [Operations]
-
- close_all_connections Instructs the broker to close all connections for the specified vhost or entire RabbitMQ node
- close_connection Instructs the broker to close the connection associated with the Erlang process id
- eval Evaluates a snippet of Erlang code on the target node
- exec Evaluates a snippet of Elixir code on the CLI node
- force_gc Makes all Erlang processes on the target node perform/schedule a full sweep garbage collection
- hipe_compile Only exists for backwards compatibility. HiPE support has been dropped starting with Erlang 22. Do not use
-
- [Queues]
-
- delete_queue Deletes a queue
- purge_queue Purges a queue (removes all messages in it)
-
- Use 'rabbitmqctl help <command>' to learn more about a specific command
其他网址
rabbitmqadmin安装与使用 - aaron_agu - 博客园
如何让RabbitMQ管理命令行工具在Windows上运行 - Thinbug
RabbitMQ windows 管理工具_DqWong的专栏-CSDN博客_rabbitmq客户端工具
简介
在windows下使用rabbitmqadmin 比较麻烦,需要用python运行,例如:python rabbitmqadmin list users。
rabbitmqadmin使用方法
以下步骤的前提是管理插件management pluin已安装好
1. 在浏览器中输入 (“server-name”为你rabbitmq的hostname)
http://server-name:15672/cli/ //本机使用默认的localhost,在浏览器中输入http://localhost:15672/cli/
2. 按照页面提示,右键保存下载链接,浏览器会下载rabbitmqadmin文件,并且自动加上后缀名txt,这个rabbitmqadmin.txt其实是一个python内容的文件,所以需要用python解析,确保你电脑有python2.x,不支持3.x。
3. 将rabbitmqadmin.txt放到和python.exe同个路径,并把后缀txt去掉,然后通过下面的方式去调用rabbitmqadmin
python.exe rabbitmqadmin
4. 使用下面的命令可以查看使用说明
python.exe rabbitmqadmin --help
基本功能和网页版插件一样,包括:
- 查看exchanges, queues, bindings, vhosts, users, permissions, connections和channels.
- overview信息查看
- 声明,删除exchanges, queues, bindings, vhosts, users 和 permissions
- 发布或获取消息
- 关闭连接,释放队列
- 导入导出配置
5. rabbitmqadmin支持bash shell用tab键自动补齐,查看bash自动补齐脚本可以调用一下命令
python.exe rabbitmqadmin --bash-completion
命令
命令 | 解释 |
---|---|
rabbitmqadmin list users | 查看所有用户 User |
rabbitmqadmin list users name | 查看所有用户名 Username |
rabbitmqadmin list users tags | 查看所有用户角色 |
rabbitmqadmin list vhosts | 查看所有虚拟主机 |
rabbitmqadmin list connections | 查看所有连接 |
rabbitmqadmin list exchanges | 查看所有路由 Exchange |
rabbitmqadmin list bindings | 查看所有路由与队列的关系绑定 Binding |
rabbitmqadmin list permissions | 查看所有角色的权限 Permission |
rabbitmqadmin list channels | 查看所有通道 Channel |
rabbitmqadmin list consumers | 查看所有消费者 Consumer |
rabbitmqadmin list queues | 查看所有消息队列 Queue |
rabbitmqadmin list nodes | 查看所有节点 Node |
rabbitmqadmin show overview | 概览 Overview |
rabbitmqadmin list bindings source destination_type destination properties_key | 查看所有路由与队列的关系绑定的详细信息 Binding |
rabbitmqadmin declare queue name=test durable=true | 定义一个队列queue,durable=true代表持久化打开。 |
rabbitmqadmin declare exchange name=my.fanout type=fanout | 定义一个Fanout路由 |
rabbitmqadmin declare exchange name=my.direct type=direct | 定义一个Direct路由 |
rabbitmqadmin declare exchange name=my.topic type=topic | 定义一个Topic路由 |
rabbitmqadmin declare binding source=my.fanout destination=test routing_key=first | 定义 binding |
rabbitmqadmin publish routing_key=test payload="hello world" | 发布一条消息 |
rabbitmqadmin publish routing_key=my.test exchange=my.topic payload="hello world" | 使用路由转发消息 |
rabbitmqadmin get queue=test requeue=true | 查看消息,不消费 |
rabbitmqadmin get queue=test requeue=false | 查看消息,并消费 |
rabbitmqadmin purge queue name=test | 删除队列中的所有消息 |
rabbitmqadmin delete queue name=hello | 删除消息队列 Queue |
rabbitmqadmin delete user name=test | 删除用户 User |
rabbitmqadmin delete exchange name=test | 删除路由器 Exchange |
rabbitmqadmin delete binding source='kk' destination_type=queue destination=test properties_key=test | 删除路由器与消息队列的关系绑定 Binding |
rabbitmqadmin -f raw_json list users | raw_json 格式化输出 |
rabbitmqadmin -f long list users | 格式化输出 |
rabbitmqadmin -f pretty_json list users | pretty_json 格式化输出 |
rabbitmqadmin -f kvp list users | 格式化输出 |
rabbitmqadmin -f tsv list users | 格式化输出 |
rabbitmqadmin -f table list users | table 格式化输出 |
rabbitmqadmin -f bash list users | bash 格式化输出 |
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。