柯南君:看大数据时代下的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强企业当中超过 ...
随机推荐
- mysql5.7慢查询开启配置
1.问题 当然又被度娘(我冤枉)坑了噻,网友说配置文件写下面三行: log-slow-queries=D:\Program Files\mysql-5.7.11-winx64\data\low.log ...
- easyui跨iframe属性datagrid
1.问题 如何刷新easyui父级tab页中iframe嵌套页中的datagrid? 2.解决方法 (1) parent.$("iframe[title='tabtitle']") ...
- 初学swift笔记变量的定义(一)
swift变量的定义 1 import Foundation /* 变量的定义 变量的类型是可以不用写的 var a=10 常量的定义 let修饰 */ print(a) let b= print(b ...
- AWS之EC2远程登录
网上有丰富的免费资源,Amazon的云主机就是开发者和学习者很好的选择. 但你得有一张信用卡,注册个AWS(Amazon web service)账号,就可以有自己公网ip的服务器了!!! 最近在折腾 ...
- Linux05--Shell程序设计01
1.Shell脚本介绍 基本介绍: shell脚本是一个可执行的纯文本文件,由多个shell命令组成. 命令的执行是从上而下,从左而右的分析和执行 命令,参数间的多个空白也会被忽略 #是注释 #!用于 ...
- 客户端持久化解决方案:indexedDB
客户端持久化解决方案:indexedDB indexedDB适合大量的结构化的数据存储:打开数据库和获取数据对象都是异步的: 需要开启事务,访问的objectStore都要是在开启的事务中. 数据库结 ...
- Delphi之TDrawGrid绘制
一直都对QQ的好友列表很好奇,最先感觉用TreeView实现的,看了看TreeView的源码,发现要实现还真的不太好完成任务啊,其中最大的原因是自己的功力不足,后来觉得用ListView来做吧,结果也 ...
- de4dot命令 v2.0.3.3405
de4dot v2.0.3.3405 Copyright (C) 2011-2013 [email]de4dot@gmail.com[/email] Latest version and source ...
- mysql_healthly
cat mysql_healthly.php <?php if (!defined('IN_PDK')){ define('IN_PDK', true); } $db_name = $_GET[ ...
- poj1144Network(无向图割点数)
题目请戳这里 题目大意:给一张无向图,求割点数量. 题目分析:tarjan算法求割点.关于无向图割点,这里说的很清楚了.直接建图跑一遍tarjan算法即可. 详情请见代码: #include < ...