`
喜欢蓝色的我
  • 浏览: 357804 次
  • 性别: Icon_minigender_2
  • 来自: 北京
社区版块
存档分类
最新评论

rabbitMQ安装及监控

 
阅读更多

安装环境:CentOS release 6.5 (Final)

官方安装:http://www.rabbitmq.com/install-rpm.html

----------------------------------------------------------------------------------------------------------------

查看版本命令:cat /etc/centos-release

-----------------------------------------------------------------------------------------------------------------

一. rabbitMQ依赖erlang,先安装erlang环境

从Erlang的官网 http://www.erlang.org/download.html 下载最新的erlang安装包,我下载的版本是 erlang-1.1-1.x86_64.rpm或者otp_src_R13B04.tar.gz

安装源码:

rpm -i erlang-1.1-1.x86_64.rpm ----安装erlang

安装二:

tar zxvf otp_src_R13B04.tar.gz
cd otp_src_R13B04
./configure
make && make install

--------------------------------------------------------------

一般默认安装路径就可以,不需要制定安装路径

---------------------------------------------------------------

配置环境变量:

# vim /etc/profile 

ERL_HOME=/usr/local/erlang

PATH=$ERL_HOME/bin:$PATH

export ERL_HOME PATH

# source /etc/profile

查看是否安装成功

cd /usr/lib64/erlang/bin

[root@vm-10-154-156-227 bin]# erl
Erlang R14B04 (erts-5.8.5) [source] [64-bit] [smp:2:2] [rq:2] [async-threads:0] [kernel-poll:false]

Eshell V5.8.5  (abort with ^G)
1>

安装成功。

二.安装simplejson

需要安装一个比较新的Python版本。安装略。
需要安装simplejson。从此处下载最新的版本: http://pypi.python.org/pypi/simplejson#downloads 。我下载的版本是 simplejson-2.2.1.tar.gz
$ tar xvzf simplejson-2.2.1.tar.gz
$ cd simplejson-2.2.1
$ sudo python setup.py install

三.安装rabbitMQ

然后安装RabbitMQ Server。从此处下载源代码版本的RabbitMQ: http://www.rabbitmq.com/server.html。我下载的版本是 rabbitmq-server-2.8.1.tar.gz
$ tar xvzf rabbitmq-server-2.8.1.tar.gz
$ cd rabbitmq-server-2.8.1.tar.gz
$ make
# TARGET_DIR=/usr/local SBIN_DIR=/usr/local/sbin MAN_DIR=/usr/local/man make install
/usr/local/sbin/目录下出现了三个命令:
rabbitmqctl  rabbitmq-env  rabbitmq-server
安装成功。

配置环境(查了一下资料,网上写的有些不全,导致尝试了很多方法)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代码用HighPerformance 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/

-------------------------------------------------------------------------------------------------------

enabled_plugins 文件中包括

[rabbitmq_management,amqp_client,rabbitmq_management_agent,rabbitmq_mochiweb,webmachine].

符合erlang格式

rabbitmq.conf文件可以先默认为空,有需要在添加

[root@vm-10-154-156-xxx rabbitmq]# cat rabbitmq-env.conf
RABBITMQ_NODE_PORT=5672   
#HOSTNAME=
RABBITMQ_NODENAME=rabbit@vm-10-154-156-227
RABBITMQ_CONFIG_FILE=/app/rabbitmq-server-2.8.1/plugins
RABBITMQ_MNESIA_BASE=/rabbitmq/data       
RABBITMQ_LOG_BASE=/rabbitmq/log       
RABBITMQ_PLUGINS_DIR=/app/rabbitmq-server-2.8.1/plugins

 

-------------------------------------------------------------------------------------------------------

四.启动rabbitMQ

找到sbin/目录,运行程序:
/usr/local/sbin/rabbitmq-server –detached

/usr/local/sbin/rabbitmq-server start/stop/restart

 

停止程序:
/usr/local/sbin/rabbitmqctl stop

查看启动

[root@vm-10-154-156-xxx rabbitmq]# ps -ef|grep rabbit
root      5062     1  0 May13 ?        00:04:07 /usr/lib64/erlang/erts-5.8.5/bin/beam.smp -W w -K true -A30 -P 1048576 -- -root /usr/lib64/erlang -progname erl -- -home /root -- -noshell -noinput -sname rabbit@vm-10-154-156-227 -boot /rabbitmq/data/rabbit@vm-10-154-156-227-plugins-expand/rabbit -kernel inet_default_connect_options [{nodelay,true}] -rabbit tcp_listeners [{"auto",5672}] -sasl errlog_type error -sasl sasl_error_logger false -rabbit error_logger {file,"/rabbitmq/log/rabbit@vm-10-154-156-227.log"} -rabbit sasl_error_logger {file,"/rabbitmq/log/rabbit@vm-10-154-156-227-sasl.log"} -os_mon start_cpu_sup false -os_mon start_disksup false -os_mon start_memsup false -mnesia dir "/rabbitmq/data/rabbit@vm-10-154-156-227" -noshell -noinput
root     10925  3793  0 11:12 pts/1    00:00:00 grep rabbit

查看端口

[root@vm-10-154-156-xxx rabbitmq]# netstat -napt|grep 5672
tcp        0      0 0.0.0.0:55672               0.0.0.0:*                   LISTEN      5062/beam.smp      
tcp        0      0 10.154.156.227:55672        10.58.100.158:54867         ESTABLISHED 5062/beam.smp      
tcp        0      0 :::5672                     :::*                        LISTEN      5062/beam.smp

五.监控

RabbitMQ提供了一个web的监控页面系统,这个系统是以Plugin的方式进行调用的。
首先,在rabbitmq-env.conf中配置好plugins目录的位置:RABBITMQ_CONFIG_FILE
将监控页面所需要的plugin下载到plugins目录下,这些plugin包括:
  mochiweb
  webmachine
  rabbitmq_mochiweb
  amqp_client
  rabbitmq_management_agent
  rabbitmq_management
下载路径位于:http://www.rabbitmq.com/plugins.html#rabbitmq_management

命令:

cd /etc/rabbitmq# rabbitmq-plugins enable rabbitmq_management

重新启动# rabbitmq-server start &

检查页面http://service-ip:55672

-----------------------------------------------------------------------------------------------------------

启动是遇到问题:

 

[root@leeon sbin]# rabbitmq-server start
Activating RabbitMQ plugins ...
0 plugins activated:

ERROR: unexpected epmd error: address

问题1:0 plugins activated:

检查 /etc/rabbitmq 下的配置文件

enabled_plugins 文件中包括

[rabbitmq_management,amqp_client,rabbitmq_management_agent,rabbitmq_mochiweb,webmachine].

rabbitmq-env.conf 文件RABBITMQ_PLUGINS_DIR=/app/rabbitmq-server-2.8.1/plugins (根据自己的实际目录)

plugins文件夹下,包括的文件

amqp_client-0.0.0.ez                        rabbitmq_management-0.0.0.ez
eldap-0.0.0-git.ez                          rabbitmq_management_agent-0.0.0.ez
erlando-0.0.0.ez                            rabbitmq_management_visualiser-0.0.0.ez
mochiweb-1.3-rmq0.0.0-git.ez                rabbitmq_mochiweb-0.0.0.ez
rabbitmq_auth_backend_ldap-0.0.0.ez         rabbitmq_shovel-0.0.0.ez
rabbitmq_auth_mechanism_ssl-0.0.0.ez        rabbitmq_shovel_management-0.0.0.ez
rabbitmq_consistent_hash_exchange-0.0.0.ez  rabbitmq_stomp-0.0.0.ez
rabbitmq_federation-0.0.0.ez                rabbitmq_tracing-0.0.0.ez
rabbitmq_jsonrpc-0.0.0.ez                   README
rabbitmq_jsonrpc_channel-0.0.0.ez           rfc4627_jsonrpc-0.0.0-git.ez
rabbitmq_jsonrpc_channel_examples-0.0.0.ez  webmachine-1.7.0-rmq0.0.0-hg.ez

问题:2:ERROR: unexpected epmd error: address

hostname-----查看主机名称

vm-10-154-156-xxx

添加hosts

vi /etc/hosts

127.0.0.1 vm-10-154-156-xxx

-------------------------------------------------------------------------------------------------------------------------

 参考链接:http://blog.csdn.net/historyasamirror/article/details/6827870

                   http://blog.csdn.net/huoyunshen88/article/details/33738393

 

 

 

 

 

 

 

 

 

分享到:
评论

相关推荐

    shell脚本监控rabbitmq异常发送邮件通知.rar

    可配置化shell脚本监控rabbitmq集群,如果rabbitmq运行异常,发送邮件通知管理员。亲自整理无任何坑。

    common-io监听文件夹并发送rabbitmq

    common-io监听文件夹并发送rabbitmq,springboot整合rabbitmq,common-io监听文件夹变化,提取内容发送mq

    Rabbitmq的安装和集群的搭建

    Rabbitmq安装以及集群的搭建 并介绍了如何利用Rabbitmq本身监控集群里每台服务器的cpu、内存等的使用率,以及安装过程中遇到一些问题的解决方法。

    prometheus rabbitmq_exporter

    prometheus监控服务器rabbimq服务,需要在虚拟机上安装探针服务,但是官网上没有提供rabbitmq_exproter,需要找第三方插件

    java使用rabbitMq服务

    于是私下里在自己腾讯云轻量级服务器安装了单机兔子先生。现在MQ的基本学习告一段落。感觉这文档还是挺有用的哈,,“应付”我们的日常开发暂时够用了。当然写的有点潦草,有一些细节知识点也未指出。欢迎大家批评...

    158-最简单的 RabbitMQ 监控方法1

    2. 日志分析发现 nova,neutron 等模块都报告找不到相关的 queue 3. RabbitMQ 日志中 Error 已经在持续刷屏,但信息很笼统 4

    RabbitMQ Java 例子

    3.1. cmd进到sbin目录,键入rabbitmq-plugins enable rabbitmq_management启用监控管理,然后重启Rabbitmq服务器。 (此处可以到windows 的服务中找到rabbitmq 服务进行重启) 8.2. 打开网址http://localhost:55672,...

    RabbitMQ服务使用手册.doc

    RabbitMQ服务使用手册,详细的介绍了rabbitmq的原理、使用和监控

    pm2-rabbitmq:RabbitMQ监控模块

    pm2-rabbitmq 用于Keymetrics的RabbitMQ模块描述PM2模块,用于监视关键的RabbitMQ服务器指标:连接/队列/通道/使用者/交换的数量消息总数/就绪消息/未确认消息的总数发布率/投放率要求该模块需要安装RabbitMQ(已...

    Rabbitmq工具类,java工具类RabbitmqUtil

    1、java工具类RabbitmqUtil是本人封装好的直接使用 2、常用的方法都在里面 3、改一下初始化配置参数就行

    监控错误日志并通过rabbitMq发送钉钉通知.docx

    监控错误日志并通过rabbitMq发送钉钉通知

    RabbitMQ基本概念与应用

    RabbitMQ是一个消息代理,为应用程序提供消息收发平台,并在消息被接收前为其提供安全的“居所”,可用于数据传输、非阻塞操作、推送通知、发布与订阅和异步处理等场景.DB Monitor监控数据取/存流程:分别由zabbix...

    monitor-rabbitmq:适用于Rabbitmq的AWS Cloudwatch

    Monitor-rabbitmq 适用于Rabbitmq的AWS Cloudwatch 使用Cloudwatch命名空间作为Resource/RabbitMQ RabbitMQ监视。 每个度量标准都具有队列名称,并具有其现有消息计数的数量。 名为TotalMessages的特殊度量标准,...

    gamekeeper:RabbitMQ 的 Nagios 监控和 GangliaGraphite HTTP 统计信息聚合

    它充当 Nagios NPRE 插件端点,用于监控节点或单个队列的健康状况。 节点管理功能,例如修剪空闲连接和非活动队列。 功能 gamekeeper 具有三种操作模式,每种模式对应不同的功能子集,可通过以下子命令访问: 措施...

    springboot+RabbitMQ+InfluxDB+Grafara监控实践

    主要介绍了springboot+RabbitMQ+InfluxDB+Grafara监控实践,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧

    JAVA获取rabbitmq消息总数过程详解

    主要介绍了JAVA获取rabbitmq消息总数过程详解,公司使用的是rabbitMQ,需要做监控预警的job去监控rabbitMQ里面的堆积消息个数,如何使用rabbitMQ获取监控的队列里面的队列消息个数呢,需要的朋友可以参考下

    RabbitMQ【高效部署分布式消息队列.实战】.rar

    这当中不仅包含了针对单台RabbitMQ服务器和RabbitMQ集群的讲解,还教导读者如何使用各种工具来进行监控。 本书内容浅显易懂,文笔风趣幽默。书中包含了丰富的、可以运行的示例程序源代码,读者可以自行下载并运行,...

    消息中间件 RabbitMQ

    支持持续集成、运营指标以及与其他企业系统集成 的各种 工具和插件 用于扩展 RabbitMQ 功能 的灵活 插件方法.HTTP-API、命令行工具和用于管理和监控RabbitMQ 的 UI. RabbitMQ 拥有数以万计的用户,是最受欢迎的开源...

    check_rabbitmq:RabbitMQ Nagios插件

    RabbitMQ Nagios插件 这个 Nagios 插件的目的是检查一个或多个(单个或集群/镜像)Rabbitmq 服务器的健康状态。 功能 check_rabbitmq 插件具有以下功能(这些都与特定的虚拟主机相关): 检查所有队列是否跨集群...

    rabbitmq-prometheus:核心RabbitMQ指标的简约Prometheus导出器

    rabbitmq-prometheus:核心RabbitMQ指标的简约Prometheus导出器

Global site tag (gtag.js) - Google Analytics