消息队列Rabbitmq

简介:

1. 启动

rabbitmq-server &

2. 队列重置(清空队列、用户等)

rabbitmqctl stop_app
rabbitmqctl reset
rabbitmqctl stop

3. 关闭

rabbitmqctl stop

4. 列举所有用户

rabbitmqctl list_users

5. 列举所有队列

rabbitmqctl list_queues

6. 添加用户

rabbitmqctl add_user user_name user_passwd

7. 设置用户角色为管理员

rabbitmqctl set_user_tags user_name administrator

8. 权限设置

rabbitmqctl set_permissions -p / user_name ".*" ".*" ".*"
6,7,8三步操作举例(添加用户admin)
sudo rabbitmqctl add_user admin admin
sudo rabbitmqctl set_user_tags admin administrator
sudo rabbitmqctl set_permissions -p / admin ".*" ".*" ".*"

9. 查看状态

rabbitmqctl status

10.安装 RabbitMQWeb管理插件

rabbitmq-plugins enable rabbitmq_management  
可以利用http://ip:15672查看界面状态

11.疑难杂症

11.1 症状:启动后出现
1
2
3
4
5
6
7
8
Error: unable to connect to node  'rabbit@idcp-mq010177080030' : nodedown
Error  in  log handler
====================
Event: {error,<0.9.0>,
               {<0.451.0>,
                "** Connection attempt from disallowed node ~w ** ~n" ,
                [ 'rabbitmq-cli-3355@idcp-mq010177080030' ]}}
Error: function_clause

破解

重启服务

sudo rabbitmq-server restart

 

11.2 无法正常启动rabbitmq-server

Error: unable to connect to node rabbit@nu5i12294: nodedown
ERROR: epmd error for host nu5i12294: address (cannot connect to host/port

解决:

http://yodi.polatic.me/solve-rabbitmq-error-epmd-error-for-host-ubuntu-address-cannot-connect-to-hostport/

判断hostname 与/host/hosts里面的ip和主机名一致

例如,ip为10.10.10.10

检查hostname:

$hostname
host_jihite

检查  /etc/hosts

10.10.10.10  host_jihite

12. RabbitMQ 集群与高可用配置

http://88250.b3log.org/rabbitmq-clustering-ha

13. Rabbitmq的mnesia数据地址

1. 停止消息队列
sudo rabbitmqctl stop 
 
2. 创建mnesia目录,修改用户属性
mkdir mnesia
sudo chown rabbitmq:rabbitmq  /home/test/mnesia
 
3. 修改默认MNESIA_BASE地址
vim /usr/lib/rabbitmq/bin/rabbitmq-defaults
MNESIA_BASE=${SYS_PREFIX}/var/lib/rabbitmq/mnesia
改为  MNESIA_BASE=${SYS_PREFIX}/home/test/mnesia
 
4. 启动消息队列
sudo rabbitmq-server &
 
5. 建立admin用户
sudo rabbitmqctl add_user admin admin
sudo rabbitmqctl set_user_tags admin administrator
sudo rabbitmqctl set_permissions -p / admin ".*" ".*" ".*"
 
 
相关实践学习
RocketMQ一站式入门使用
从源码编译、部署broker、部署namesrv,使用java客户端首发消息等一站式入门RocketMQ。
消息队列 MNS 入门课程
1、消息队列MNS简介 本节课介绍消息队列的MNS的基础概念 2、消息队列MNS特性 本节课介绍消息队列的MNS的主要特性 3、MNS的最佳实践及场景应用 本节课介绍消息队列的MNS的最佳实践及场景应用案例 4、手把手系列:消息队列MNS实操讲 本节课介绍消息队列的MNS的实际操作演示 5、动手实验:基于MNS,0基础轻松构建 Web Client 本节课带您一起基于MNS,0基础轻松构建 Web Client
相关文章
|
1月前
|
消息中间件 存储 监控
RabbitMQ:分布式系统中的高效消息队列
RabbitMQ:分布式系统中的高效消息队列
|
1月前
|
消息中间件 Java
springboot整合消息队列——RabbitMQ
springboot整合消息队列——RabbitMQ
75 0
|
18天前
|
消息中间件 存储 负载均衡
消息队列学习之RabbitMQ
【4月更文挑战第3天】消息队列学习之RabbitMQ,一种基于erlang语言开发的流行的开源消息中间件。
15 0
|
1月前
|
消息中间件 存储 中间件
【SpringCloud Stream消息驱动、设计思想以及整合rabbitmq消息队列案例--学习笔记】
【SpringCloud Stream消息驱动、设计思想以及整合rabbitmq消息队列案例--学习笔记】
50 0
|
1月前
|
消息中间件 缓存 API
|
1月前
|
消息中间件 存储 Cloud Native
【Spring云原生系列】Spring RabbitMQ:异步处理机制的基础--消息队列 原理讲解+使用教程
【Spring云原生系列】Spring RabbitMQ:异步处理机制的基础--消息队列 原理讲解+使用教程
|
1月前
|
消息中间件 存储 缓存
【Redis实战】有MQ为啥不用?用Redis作消息队列!?Redis作消息队列使用方法及底层原理高级进阶
【Redis实战】有MQ为啥不用?用Redis作消息队列!?Redis作消息队列使用方法及底层原理高级进阶
|
3月前
|
消息中间件 Kafka
消息队列 MQ:构建高效、可扩展的分布式系统
消息队列 MQ:构建高效、可扩展的分布式系统
|
4月前
|
消息中间件 NoSQL 数据库
一文讲透消息队列RocketMQ实现消费幂等
这篇文章,我们聊聊消息队列中非常重要的最佳实践之一:消费幂等。
一文讲透消息队列RocketMQ实现消费幂等
|
3月前
|
消息中间件 JSON Java
RabbitMQ消息队列
RabbitMQ消息队列
46 0

相关产品

  • 云消息队列 MQ