RabbitMQ_安装配置与管理
RabbitMQ 安装配置与管理
安装
- 安装erlang虚拟机
Rabbitmq基于erlang语言开发,所有需要安装erlang虚拟机
#wget http://www.erlang.org/download/otp_src_R15B01.tar.gz
#tar zxvf otp_src_R15B01.tar.gz && cd otp_src_R15B01
#./configure && make install
- 安装rabbitmq server
#wget http://www.rabbitmq.com/releases/rabbitmq-server/v2.8.2/rabbitmq-server-generic-unix-2.8.2.tar.gz
#tar rabbitmq-server-generic-unix-2.8.2.tar.gz && cd /rabbitmq-server-generic-unix-2.8.2
修改Makeifle ,添加以下参数,指定安装目录
SBIN_DIR = /usr/sbin
MAN_DIR = /usr/share/man
TARGET= /usr/lib/rabbitmq
最后
#make && make install
注意:安装脚本最后会从一个网站上拉man手册,有时连不上这个网站,安装脚本就会停住,这时可以Ctrl-c结束安装进程,这时其实已经安装完成只差man手册。
配置
- 配置文件
Rabbitmq的配置文件有三个,位于/etc/rabbitmq/,
这三个文件分别是:
(1)enabled_plugins, 设置允许的插件列表,该配置文档的格式为erlang的列表格式如
[rabbitmq_management,rabbitmq_visualiser].
(2)rabbitmq.conf,设置rabbitmq的运行参数。该配置文件中的每个参数为一个erlang的 tuple,结构为{Key,Value}, Key为atom类型, Value为一个term。其中几个关键参数为:
tcp_listerners 设置rabbimq的监听端口,默认为[5672]。
disk_free_limit 磁盘低水位线,若磁盘容量低于指定值则停止接收数据,默认值为
{mem_relative, 1.0},即与内存相关联1:1,也可定制为多少byte.
vm_memory_high_watermark,设置内存低水位线,若低于该水位线,则开启流控机制,默认值是0.4,即内存总量的40%。
hipe_compile 将部分rabbimq代码用High Performance Erlang compiler编译,可提升性能,该参数是实验性,若出现erlang vm segfaults,应关掉。
force_fine_statistics, 该参数属于rabbimq_management,若为true则进行精细化的统计,但会影响性能。
(3)rabbitmq-env.conf rabbitmq的环境参数配置
RABBITMQ_NODE_PORT 端口设置,默认为5672
RABBITMQ_NODENAME 节点名称,默认为rabbit
MNESIA_BASE 后端存储目录 ,默认为/var/lib/rabbitmq/mnesia
LOG_BASE 日志目录,默认为/var/log/rabbitmq/
其它参数详情请见:http://www.rabbitmq.com/configure.html
- 集群配置
(1)手动配置
a)首先在每个节点上启动RabbitMq
host1#rabbitmq-server -detached
host2#rabbitmq-server -detached
host3#rabbitmq-server -detached
此时每个节点自成集群,每个集群只有本节点
可以通过export RABBITMQ_NAME=xxx 指定节点名称,若不指定默认为rabbit
完整的节点名为xxx@hostname
b)加入集群
让host2 和host3上的rabbitmq节点加入到 host1的rabbitmq集群
使用rabbitmqctl命令对rabbitmq进行操作
加入集群前必须停止当前app,加入后在重启app,过程如下:
host2#rabbitmqctl stop_app
host2#rabbitmqctl cluster rabbit@host1
host2#rabbitmqctl start_app
host3#rabbitmqctl stop_app
host3#rabbitmqctl cluster rabbit@host1
host3#rabbitmqctl start_app
关于节点类型(ram |disk)
ram节点的状态保存在内存中,disk节点保存在磁盘中
被加入的节点为disk,如本例中rabbit@host1为disk节点,rabbit@host2,rabbit@host3为ram节点
可以通过rabbitmqctl cluster命令改变加入的集群以及节点类型 该命令后可以加多个节点名称, 指定的节点就会变成disk节点
如可以将本例中所有节点都改成disk节点
host2#rabbitmqctl stop_app
host2#rabbitmqctl reset
host2#rabbitmqctl cluster rabbit@host1 rabbit@host2
host2#rabbitmqctl start_app
host3#rabbitmqctl stop_app
host3#rabbitmqctl reset
host3#rabbitmqctl cluster rabbit@host1 rabbit@host3
host3#rabbitmqctl start_app
(2) 自动配置:
rabbitmq的默认配置脚本为
/etc/rabbitmq/rabbitmq.conf
在其中添加
[
...
{rabbit, [
...
{cluster_nodes, ['rabbit@host1', 'rabbit@host2', 'rabbit@host3']},
...
]},
...
].
分别启动每个rabbitmq节点
rabbitmq -detached
rabbitmq就自动组成集群了
注意事项:
1)每个节点的erlang cookie须相同, 可以在启动服务器加 –setcookie参数设置相同的参数,也可以在home目录下设置相同的.erlang.cookie文件。
2)节点间应该能相互解析,可以通过修改/etc/hosts文件实现
管理
Rabbitmq服务器的主要通过rabbitmqctl和rabbimq-plugins两个工具来管理,以下是一些常用功能。
- 服务器启动与关闭
启动: rabbitmq-server –detached
关闭:rabbitmqctl stop
若单机有多个实例,则在rabbitmqctlh后加 –n 指定名称
- 插件管理
开启某个插件:rabbitmq-plugins enable xxx
关闭某个插件:rabbitmq-plugins disable xxx
注意:重启服务器后生效。
- virtual_host 管理
新建virtual_host: rabbitmqctl add_vhost xxx
撤销virtual_host:rabbitmqctl delete_vhost xxx
- 用户管理
新建用户:rabbitmqctl add_user xxx pwd
删除用户: rabbitmqctl delete_user xxx
改密码: rabbimqctl change_password {username} {newpassword}
设置用户角色:rabbitmqctl set_user_tags {username} {tag ...}
Tag可以为 administrator, monitoring, management
|
Tag |
Capabilities |
|
(None) |
No access to the management plugin |
|
management |
Anything the user could do via AMQP plus: List virtual hosts to which they can log in via AMQP View all queues, exchanges and bindings in "their" virtual hosts View and close their own channels and connections View "global" statistics covering all their virtual hosts, including activity by other users within them |
|
monitoring |
Everything "management" can plus: List all virtual hosts, including ones they could not log in to via AMQP View other users's connections and channels View node-level data such as memory use and clustering View truly global statistics for all virtual hosts |
|
administrator |
Everything "monitoring" can plus: Create and delete virtual hosts View, create and delete users View, create and delete permissions Close other users's connections |
- 权限管理
权限设置:set_permissions [-p vhostpath] {user} {conf} {write} {read}
Vhostpath
Vhost路径
user
用户名
Conf
一个正则表达式match哪些配置资源能够被该用户访问。
Write
一个正则表达式match哪些配置资源能够被该用户读。
Read
一个正则表达式match哪些配置资源能够被该用户访问。
- 获取服务器状态信息
服务器状态: rabbitmqctl status
队列信息:rabbitmqctl list_queues [-p vhostpath] [queueinfoitem ...]
Queueinfoitem可以为:name, durable,auto_delete,arguments,messages_ready,
messages_unacknowledged,messages,consumers,memory
Exchange信息:rabbitmqctl list_exchanges [-p vhostpath] [exchangeinfoitem ...]
Exchangeinfoitem有:name ,type,durable,auto_delete,internal,arguments.
Binding信息:rabbitmqctl list_bindings [-p vhostpath] [bindinginfoitem ...]
Bindinginfoitem有:source_name,source_kind,destination_name,destination_kind,routing_key,arguments
Connection信息:rabbitmqctl list_connections [connectioninfoitem ...]
Connectioninfoitem有:recv_oct,recv_cnt,send_oct,send_cnt,send_pend等。
Channel信息:rabbitmqctl list_channels [channelinfoitem ...]
Channelinfoitem有consumer_count,messages_unacknowledged,messages_uncommitted
,acks_uncommitted,messages_unconfirmed,prefetch_count,client_flow_blocked
更多的信息请参考:http://www.rabbitmq.com/man/rabbitmqctl.1.man.html
RabbitMQ_安装配置与管理的更多相关文章
- OCM_第十七天课程:Section7 —》GI 及 ASM 安装配置 _管理和配置 GRID /实施 ASM 故障组 /创建 ACFS 文件系统
注:本文为原著(其内容来自 腾科教育培训课堂).阅读本文注意事项如下: 1:所有文章的转载请标注本文出处. 2:本文非本人不得用于商业用途.违者将承当相应法律责任. 3:该系列文章目录列表: 一:&l ...
- 安装配置Rancher管理docker
原文:安装配置Rancher管理docker 版权声明:本文为博主原创文章,转载请注明地址http://blog.csdn.net/tianyaleixiaowu. https://blog.csdn ...
- solr window环境安装配置和管理页面基本使用
solr介绍 来自官网http://lucene.apache.org/solr/解释: Solr is highly reliable, scalable and fault tolerant, p ...
- (0.2)linux下Mysql的安装配置与管理入门(目录篇)
本章学习内容: 1.基于Linux平台的Mysql项目场景介绍 1.1.互联网各类网站.购物网站.门户网站.博客系统.IDC,云平台,VPS,虚拟主机空间,论坛,嵌入式. 2.mysql数据库运行环境 ...
- OCM_第十六天课程:Section7 —》GI 及 ASM 安装配置 _安装 GRID 软件/创建和管理 ASM 磁盘组/创建和管理 ASM 实例
注:本文为原著(其内容来自 腾科教育培训课堂).阅读本文注意事项如下: 1:所有文章的转载请标注本文出处. 2:本文非本人不得用于商业用途.违者将承当相应法律责任. 3:该系列文章目录列表: 一:&l ...
- 【Oracle RAC】Linux系统Oracle11gR2 RAC安装配置详细过程V3.1(图文并茂)
[Oracle RAC]Linux系统Oracle11gR2 RAC安装配置详细过程V3.1(图文并茂) 2 Oracle11gR2 RAC数据库安装准备工作2.1 安装环境介绍2.2 数据库安装软件 ...
- 【Oracle RAC】Linux系统Oracle12c RAC安装配置详细记录过程V2.0(图文并茂)
[Oracle RAC]Linux系统Oracle12c RAC安装配置详细过程V2.0(图文并茂) 2 Oracle12c RAC数据库安装准备工作2.1 安装环境介绍2.2 数据库安装软件下载3 ...
- RabbitMQ学习在windows下安装配置
RabbitMQ学习一. 在windows下安装配置 1.下载并安装erlang,http://www.erlang.org/download.html,最新版是R15B01(5.9.1).由于我机器 ...
- GitHub学习心得之 安装配置与多帐号管理
作者:枫雪庭 出处:http://www.cnblogs.com/FengXueTing-px/ 欢迎转载 GitHub学习心得之 安装配置与多帐号管理 1.前言2.GitHub Linux安装(ub ...
随机推荐
- Struts2基础学习(五)—拦截器
一.概述 1.初识拦截器 Interceptor 拦截器类似前面学过的过滤器,是可以在action执行前后执行的代码,是我们做Web开发经常用到的技术.比如:权限控制.日志等.我们也可以将多 ...
- 前端jquery validate表单验证框架的使用
一.框架本身校验方法的扩展 建议写在页内用于扩展框架本身的一些校验方法, 使用频繁也可以直接在源码上修改 例如扩展手机号码的校验: /*手机号码验证扩展 最新的号码 mobile: class的表示 ...
- JavaScript--------------------jQuery中.bind() .live() .delegate() .on()的区别 和 三种方式写光棒事件 动画
bind(type,[data],fn) 为每个匹配元素的特定事件绑定事件处理函数. $("a").bind("click",function(){alert( ...
- Bug 笔记
1.页面返回 400 Bag request: 原因:使用Spring MVC controller的时候,查询数据库:当数据库的数据类型是int型时,Spring MVC在查询的数据匹配给实体类 ...
- preg_*匹配的字符串长度限制问题以及nginx,php上传文件过大问题
问题背景 使用插件上传高清图片,用的插件base64转码的,上传失败,接口提示:413 (Request Entity Too Large) 问题分析与解决 首先想到的是nginx和php的服务器配 ...
- 你绝对想不到R文件找不到(cannot resolve symbol R)的原因
你绝对想不到R文件找不到(cannot resolve symbol R)的原因 最近在项目开发中 Android Studio 的 R 文件突然找不到了.IDE 中出现了以下提示 cannot re ...
- Mybatis(一) mybatis入门
学习了hibernate这个持久层框架之后,在来学习Mybatis简直是无压力,因为Mybatis入门门栏很低,如果学习过了hibernate的话,对于Mybatis的学习很简单了,如果没学习过hib ...
- angular购物车
<body ng-app> <div class="container" ng-controller="carController"> ...
- 【2017-04-21】Ado.Nte属性扩展
通过对数据库表的封装,对该表的属性进行扩展. 1.例如:表中的性别是bool类,要实现显示给用户看的为“男.女” 2.通过表中的生日datetime类,来实现显示给用户看的年月日,自动计算年龄. 3. ...
- [Git]03 如何查看提交历史
在提交了若干更新之后,又或者克隆了某个项目,想回顾下提交历史,可以使用 gitlog 命令查看. 常用命令 1.查看提交历史 $ git log 2.查看某个文件或者某个目录的递交历史 $ gi ...