柯南君:看大数据时代下的IT架构(3)消息队列之RabbitMQ-安装、配置与监控
一、安装
1、安装Erlang
1)系统编译环境(这里采用linux/unix 环境)
① 安装环境
虚拟机:VMware® Workstation 10.0.1 build
Linux系统:CentOS6.5
rabbitMQ官网下载:http://www.rabbitmq.com/download.html
Erlang的官网下载: http://www.erlang.org/download.html
2)Rabbitmq所需要的附属包(erlang、simplejson)安装:
RabbitMQ是基于Erlang的,所以首先必须配置Erlang环境。
从Erlang的官网http://www.erlang.org/download.html 下载最新的erlang安装包,我下载的版本是 otp_src_R14B03.tar.gz 。
然后:
- 然后解压下载的gz包 tar zxcf *.tar.gz
- cd 进入解压出来的文件夹
- 执行./configure --prefix=/opt/erlang 就会开始编译安装 会编译到 /opt/erlang 下 然后执行
- make 和 make install
- 编译完成以后,进入/opt/erlang,输入erl测试erlang是否安装成功。
- 修改/etc/profile文件,增加下面的环境变量:
- #set erlang environment
- export PATH=$PATH:/opt/erlang/bin
- source profile使得文件生效
- 肯能会出现找不到包的情况,就直接yum install 吧!
安装完Erlang,那么开始装RabbitMQ-Server ,主要参考官方文档:http://www.rabbitmq.com/build-server.html ;
② 安装simplejson(如果需要安装Python版本的话)
需要安装一个比较新的Python版本。安装略,比较简单。
需要安装simplejson。从此处下载最新的版本:http://pypi.python.org/pypi/simplejson#downloads 。我下载的版本是 simplejson-2.2.1.tar.gz
2、安装RabbitMQ
- rabbitmq的安装有很多版本,我们使用Generic Unix版本。
- cd /
- wget http://www.rabbitmq.com/releases/rabbitmq-server/v2.7.1/rabbitmq-server-generic-unix-2.7.1.tar.gz下载rabbitmq
- tar zxvf rabbitmq-server-generic-unix-2.7.1.tar.gz -C /opt解压到指定的文件夹下
- cd /opt,建立软链接ln -s rabbitmq-server-generic-unix rabbitmq
- cd rabbitmq/sbin,./rabbitmq-server -detached可以实现后台启动
- 修改/etc/profile,添加环境变量
- #set rabbitmq environment
- export PATH=$PATH:/opt/rabbitmq/sbin
- source profile使得文件生效
- cd /opt/rabbitmq/sbin,./rabbitmqctl stop关闭rabbitmq
- 这样就完成了安装
这样就安装成功。
3、试运行
- 启用管理方式(用网页方式管理MQ)cd /opt/rabbitmq/sbin/
- 执行./rabbitmq-plugin enable rabbitmq-management
- 然后访问http://localhost:55672
二、配置
主要参考官方文档:http://www.rabbitmq.com/configure.html
一般情况下,RabbitMQ的默认配置就足够了。如果希望特殊设置的话,有两个途径:
- 一个是环境变量的配置文件 rabbitmq-env.conf ;
- 一个是配置信息的配置文件 rabbitmq.config;
注意,这两个文件默认是没有的,如果需要必须自己创建。
rabbitmq-env.conf
这个文件的位置是确定和不能改变的,位于:/etc/rabbitmq目录下(这个目录需要自己创建)。
- 文件的内容包括了RabbitMQ的一些环境变量,常用的有:
- #RABBITMQ_NODE_PORT= //端口号
- #HOSTNAME=
- RABBITMQ_NODENAME=mq
- RABBITMQ_CONFIG_FILE= //配置文件的路径
- RABBITMQ_MNESIA_BASE=/rabbitmq/data //需要使用的MNESIA数据库的路径
- RABBITMQ_LOG_BASE=/rabbitmq/log //log的路径
- RABBITMQ_PLUGINS_DIR=/rabbitmq/plugins //插件的路径
具体的列表见:http://www.rabbitmq.com/configure.html#define-environment-variables
rabbitmq.config
这是一个标准的erlang配置文件。它必须符合erlang配置文件的标准。
它既有默认的目录,也可以在rabbitmq-env.conf文件中配置。
三、监控
主要参考官方文档:http://www.rabbitmq.com/management.html
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
重新启动RabbitMQ,输入http://server-name:55672/mgmt/ 就能够进入到监控页面。默认的用户名和密码是: guest 和 guest。
柯南君:看大数据时代下的IT架构(3)消息队列之RabbitMQ-安装、配置与监控的更多相关文章
- 柯南君:看大数据时代下的IT架构(5)消息队列之RabbitMQ--案例(Work Queues起航)
二.Work Queues(using the Java Client) 走起 在第上一个教程中我们写程序从一个命名队列发送和接收消息.在这一次我们将创建一个工作队列,将用于分发耗时的任务在多个工 ...
- 柯南君:看大数据时代下的IT架构(4)消息队列之RabbitMQ--案例(Helloword起航)
柯南君:看大数据时代下的IT架构(4)消息队列之RabbitMQ--案例(Helloword起航) 二.起航 本章节,柯南君将从几个层面,用官网例子讲解一下RabbitMQ的实操经典程序案例,让大家重 ...
- 看大数据时代下的IT架构(1)业界消息队列对比
一.MQ(Message Queue) 即 消息队列,一般用于应用系统解耦.消息异步分发,能够提高系统吞吐量.MQ的产品有很多,有开源的,也有闭源,比如ZeroMQ.RabbitMQ. ActiveM ...
- 柯南君:看大数据时代下的IT架构(2)消息队列之RabbitMQ-基础概念详细介绍
一.基础概念详细介绍 1.引言 你是否遇到过两个(多个)系统间需要通过定时任务来同步某些数据?你是否在为异构系统的不同进程间相互调用.通讯的问题而苦恼.挣扎?如果是,那么恭喜你,消息服务让你可以很轻松 ...
- 柯南君:看大数据时代下的IT架构(9)消息队列之RabbitMQ--案例(RPC起航)
二.Remote procedure call (RPC)(using the Java client) 三.Client interface(客户端接口) 为了展示一个RPC服务是如何使用的,我们将 ...
- 柯南君:看大数据时代下的IT架构(6)消息队列之RabbitMQ--案例(Publish/Subscribe起航)
二.Publish/Subscribe(发布/订阅)(using the Java Client) 为了说明这个模式,我们将构建一个简单的日志系统.它将包括两个项目: 第一个将发出日志消息 第二个将接 ...
- 柯南君:看大数据时代下的IT架构(8)消息队列之RabbitMQ--案例(topic起航)
二.Topic(主题) (using the Java client) 上一篇文章中,我们进步改良了我们的日志系统.我们使用direct类型转发器,使得接收者有能力进行选择性的接收日志,,而非fano ...
- 柯南君:看大数据时代下的IT架构(7)消息队列之RabbitMQ--案例(routing 起航)
二.Routing(路由) (using the Java client) 在前面的学习中,构建了一个简单的日志记录系统,能够广播所有的日志给多个接收者,在该部分学习中,将添加一个新的特点,就是可以只 ...
- 大数据时代下EDM邮件营销的变革
根据研究,今年的EDM邮件营销的邮件发送量比去年增长了63%,许多方法可以为你收集用户数据,这些数据可以帮助企业改善自己在营销中的精准度,相关性和执行力. 最近的一项研究表明,中国800强企业当中超过 ...
随机推荐
- asp.net自动打卡、签到程序
目前公司上下班签到是上局域网的一个系统去点一下,由于打卡比较简单,所以有些快迟到的同事会找已经到公司的人帮忙代打卡.”以其它身份运行程序“来打开IE,去帮人打下,有时多几个人,也要这样操作,我感觉挺麻 ...
- struts2中的方法过滤拦截器
方法过滤拦截器是只过滤指定的方法,如果使用针对action 的普通的过滤器则会过滤该action内部 所有方法.如果在一个action中同时有多个作为业务逻辑控制的方法存在 的话则会过滤所有的业务逻辑 ...
- 用include()和ob_get_contents( )方法 生成静态文件
1. 生成静态文件可以在打开缓冲区的前提下,用include()方法去包含要执行的动态文件,这样该动态文件就会在缓冲区中执行,执行完毕后的静态HTML代码就保存在缓冲区中,然后用ob_get_cont ...
- [问题解决] 启动mongod 时,出现addr already in use错误
错误: 启动mongod root@wangyuyu-Vostro-:/usr/bin# ./mongod 错误提示: Sat Aug :: [initandlisten] ERROR: listen ...
- Delphi资源文件(全面分析之位图、光标、图标、AVI、JPEG、Wave)
几乎每个Windows应用程序都使用图标.图片.光标等资源.资源是程序的一部分,但是它是不可执行代码.下面我们就详细介绍资 源文件在Delphi5中建立和使用方法. 1.把资源放到Exe文件的优点 ...
- POJ——多项式的加法
1:多项式加法 查看 提交 统计 提问 总时间限制: 1000ms 内存限制: 5000kB 描述 我们经常遇到两多项式相加的情况,在这里,我们就需要用程序来模拟实现把两个多项式相加到一起.首先 ...
- objective-c 可变参数
容易发现Cocoa Foundation 中提供了一些可变参数的方法,如: NSLog(NSString *format, ...) 在实际的编程实践中,我们也需要自己实现可变参数的方法.在Objc中 ...
- aix6.1 openssh安装
环境: IBM AIX6.1 1.下载(可以直接从附件中下载): openssl IBM官方网站下载:https://www14.software.ibm.com/webapp/iwm/web/reg ...
- U-boot中实现Yaffs2+HwEcc
经过老手的指点,要实现Yaffs2+HwEcc,重点在于chip->ops.mode由MTD_OOB_RAW到MTD_OOB_AUTO.经过几天的筹备,今天要对其下手了.为了真实展现分析移植过程 ...
- linux学习之(四)-用户、组的操作,给文件文件夹设置组,更改目录权限、文件权限
命令帮助查看: man 命令(查看一个命令的详细帮助信息) 例:man useradd 或者用 -h 格式 命令 -h(查看一个命令的简要帮助) 例:useradd -h 用户: 在user ...