RabbitMQ_安装配置与管理

RabbitMQ 安装配置与管理

安装

  1. 安装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

  1. 安装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手册。

配置

  1. 配置文件

Rabbitmq的配置文件有三个,位于/etc/rabbitmq/,

这三个文件分别是:

(1enabled_plugins, 设置允许的插件列表,该配置文档的格式为erlang的列表格式如

[rabbitmq_management,rabbitmq_visualiser].

(2rabbitmq.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则进行精细化的统计,但会影响性能。

(3rabbitmq-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. 集群配置

(1)手动配置

a)首先在每个节点上启动RabbitMq

host1#rabbitmq-server -detached

host2#rabbitmq-server -detached

host3#rabbitmq-server -detached

此时每个节点自成集群,每个集群只有本节点

可以通过export RABBITMQ_NAME=xxx 指定节点名称,若不指定默认为rabbit

完整的节点名为[email protected]

b)加入集群

让host2 和host3上的rabbitmq节点加入到 host1的rabbitmq集群

使用rabbitmqctl命令对rabbitmq进行操作

加入集群前必须停止当前app,加入后在重启app,过程如下:

host2#rabbitmqctl stop_app

host2#rabbitmqctl cluster [email protected]

host2#rabbitmqctl start_app

host3#rabbitmqctl stop_app

host3#rabbitmqctl cluster [email protected]

host3#rabbitmqctl start_app

关于节点类型(ram |disk)

ram节点的状态保存在内存中,disk节点保存在磁盘中

被加入的节点为disk,如本例中[email protected]为disk节点,[email protected],[email protected]为ram节点

可以通过rabbitmqctl cluster命令改变加入的集群以及节点类型 该命令后可以加多个节点名称, 指定的节点就会变成disk节点

如可以将本例中所有节点都改成disk节点

host2#rabbitmqctl stop_app

host2#rabbitmqctl reset

host2#rabbitmqctl cluster [email protected] [email protected]

host2#rabbitmqctl start_app

host3#rabbitmqctl stop_app

host3#rabbitmqctl reset

host3#rabbitmqctl cluster [email protected] [email protected]

host3#rabbitmqctl start_app

(2) 自动配置:

rabbitmq的默认配置脚本为

/etc/rabbitmq/rabbitmq.conf

在其中添加

[

...

{rabbit, [

...

{cluster_nodes, [‘[email protected]‘, ‘[email protected]‘, ‘[email protected]‘]},

...

]},

...

].

分别启动每个rabbitmq节点

rabbitmq -detached

rabbitmq就自动组成集群了

注意事项:

1)每个节点的erlang cookie须相同, 可以在启动服务器加 –setcookie参数设置相同的参数,也可以在home目录下设置相同的.erlang.cookie文件。

2)节点间应该能相互解析,可以通过修改/etc/hosts文件实现

管理

Rabbitmq服务器的主要通过rabbitmqctl和rabbimq-plugins两个工具来管理,以下是一些常用功能。

  1. 服务器启动与关闭

启动: rabbitmq-server –detached

关闭:rabbitmqctl stop

若单机有多个实例,则在rabbitmqctlh后加 –n 指定名称

  1. 插件管理

开启某个插件:rabbitmq-plugins enable xxx

关闭某个插件:rabbitmq-plugins disable xxx

注意:重启服务器后生效。

  1. virtual_host 管理

新建virtual_host: rabbitmqctl add_vhost  xxx

撤销virtual_host:rabbitmqctl  delete_vhost xxx

  1. 用户管理

新建用户: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

  1. 权限管理

权限设置:set_permissions [-p vhostpath] {user} {conf} {write} {read}

Vhostpath

Vhost路径

user

用户名

Conf

一个正则表达式match哪些配置资源能够被该用户访问。

Write

一个正则表达式match哪些配置资源能够被该用户读。

Read

一个正则表达式match哪些配置资源能够被该用户访问。

  1. 获取服务器状态信息

服务器状态: 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

时间: 2024-10-02 14:32:02

RabbitMQ_安装配置与管理的相关文章

MCSA / Windows Server 2016 安装,配置和管理 Nano Server

原文地址:http://blog.51cto.com/52share/2317743

【Oracle RAC】Linux系统Oracle11gR2 RAC安装配置详细过程V3.1(图文并茂)

2 Oracle11gR2 RAC数据库安装准备工作2.1 安装环境介绍2.2 数据库安装软件下载3 Oracle11gR2 RAC数据库安装环境配置3.1 安装主机或虚拟机3.2 安装操作系统3.3 hosts文件配置3.4 添加组与用户3.5 添加文件系统3.6 修改操作系统参数3.7 禁止NTP3.8 配置grid和oracle用户的环境变量3.9 配置SSH信任关系3.10 调整页面交换空间3.11 配置磁盘4 安装11gR2 Grid Infrastructure组件4.1 解压安装文

【Oracle RAC】Linux系统Oracle12c RAC安装配置详细记录过程V2.0(图文并茂)

[Oracle RAC]Linux系统Oracle12c RAC安装配置详细过程V2.0(图文并茂) 2 Oracle12c RAC数据库安装准备工作2.1 安装环境介绍2.2 数据库安装软件下载3 Oracle12c RAC数据库安装环境配置3.1 安装主机或虚拟机3.2 安装操作系统3.3 hosts文件配置3.4 添加组与用户3.5 添加文件系统3.6 修改操作系统参数3.7 禁止NTP3.8 配置grid和oracle用户的环境变量3.9 配置SSH信任关系3.10 调整页面交换空间3.

Centos7 安装配置OpenLdap服务及OpenLdap管理工具

我们上一篇文章中介绍了,Centos7+Openvpn使用Windows AD(LDAP)验证登录的配置介绍.说到LDAP服务,我们知道不止windows有,linux下也有,比如openldap,sambaLDAP服务,具体就不多介绍了,我们今天主要介绍一下Centos7 安装配置OpenLdap及Ldap管理工具等操作,为后面的Centos7+Openvpn+openldap验证登录做好基础. 我们首先配置一个指定源,我们源地址指向了阿里云的仓库源 cd /etc/yum.repos.d v

GitHub学习心得之 安装配置与多帐号管理

1.前言2.GitHub Linux安装(ubuntu)3.帐号1配置4.帐号2配置5.本地管理 一.前言 本篇博文记录了GitHub的安装配置与多帐号管理. 本文内容基于以下文章:http://www.runoob.com/w3cnote/git-guide.html (Github 简明教程)http://m.blog.csdn.net/article/details?id=41824339 (如何在同一台电脑上使用两个github账户)http://www.tuicool.com/arti

Linux 后台进程管理器 supervisor 安装配置(使用httpd来做被监控进程)

在linux服务需要可靠的运行,并且服务exit后,需要自动重新启动起来,还可以监控进程状态,supervisor就是个不错的选项,supervisor是用python开发的一个进程管理器.下面是安装配置过程. 1.安装supervisor easy_install supervisor     SetupTool安装方法 apt-get install supervisor    Debian/Ubuntu安装方法 yum install supervisor     RedHat/Cento

Openstack 实战讲解之-----10-图形界面管理安装配置(Dashboard)

一.Dashboard介绍 Dashboard(horizon)是一个web接口,使得云平台管理员以及用户可以管理不同的Openstack资源以及服务.这个部署示例使用的是 Apache Web 服务器.dashboard仅在核心服务中要求认证服务.你可以将dashboard与其他服务,如镜像服务.计算服务和网络服务等结合使用.你也可以在单击服务环境如对象存储中使用dashboard. Dashboard 特点: 提供一个web界面操作Openstack的系统. 使用Django框架基于Open

Maven01——简介、安装配置、入门程序、项目构建和依赖管理

1 Maven的简介 1.1 什么是maven 是apache下的一个开源项目,是纯java开发,并且只是用来管理java项目的 Svn eclipse   maven量级 1.2 Maven好处 同一个项目,普通的传统项目(24M)而Maven项目只需要(724KB) 分析:maven项目为什么这么小?没有jar. 需要jar吗?肯定需要.没有存在于maven项目里面,jar存在于哪? 1.3 依赖管理 1.4 项目一键构建 编码  编译  测试(junit)  运行  打包  部署 一个 t

Ubuntu 安装配置MySQL,并使用VS的Server Explorer UI界面远程管理MySQL

为安装配置方便,使用root账号登入Ubuntu. step1: 键入下面命令安装MySQL. 过程十分简单.安装过程中只需根据提示输入root账号的密码即可. step2:安装完成后检查MySQL是否已启动.键入下面的命令 step3:如果没有启动,则键入下面命令启动MySQL. 然后按照step2,再次检查一遍MySQL运行状态. step4:打开MySQL的远程访问功能.键入下面的命令,然后将配置文件中的bind-address注释掉. step5: 重启MySQL Step6:开通roo