1.安装erlang虚拟机

  Rabbitmq基于erlang语言开发,所有需要安装erlang虚拟机。安装erlang有两种方式:

  第一种:使用yum安装:

wget -O /etc/yum.repos.d/epel-erlang.repo  http://repos.fedorapeople.org/repos/peter/erlang/epel-erlang.repo   # 把yum源安装到本地
yum install erlang

  第二种:下载源码编译安装:

yum groupinstall "development tools"
yum list *curse*
yum install ncurse-devel.xxxx #安装所需的ncurse
wget xxxx #http://www.erlang.org/download/otp_src_R16B.tar.gz
tar -xvf otp_src_xxx.tar.gz
cd otp_src_xxxx
./configure --without-javac #这个步骤的相关信息应该参考一下该目录下的README或INSTALL文件
make&&make install

  安装完毕后,在shell下执行erl看是否能打开eshell,用‘halt().’退出。

2.安装(rabbitmq-server-xxxx)

  使用rpm包安装 rpm -ivh rabbit-server-xxxx.rpm  (这样安装简单,不用配置path等)

  但是我在安装rabbitmq-server的过程中遇到了一个问题: 

  Error: Package: rabbitmq-server-3.0.2-1.noarch (/rabbitmq-server-3.0.2-1.noarch)
  Requires: erlang >= R12B-3
  You could try using --skip-broken to work around the problem
  You could try running: rpm -Va --nofiles --nodigest

  这是由于erlang的版本问题,其实是没有影响的,你可以使用rpm -ivh --nodeps rabbit-server-xxxx.rpm安装。

3.rabbitmq常用命令

  rabbitmq-server start  或者   service rabbitmq-server start     #启动rabbitmq
  rabbitmq-server stop 或者rabbitmqctl stop    #停止rabbitmq
  rabbitmqctl list_exchanges   #查看服务器种所有的路由信息
  rabbitmqctl list_bindings    #查看服务器种所有的路由与消息队列绑定信息
  rabbitmqctl list_queues  #查看服务器中所有的消息队列信息
  rabbitmqctl status  #查看运行信息
 
  rabbitmq-plugins enable rabbitmq_management  
  #启动rabbitmq的图形管理界面,这个操作必须重启rabbitmq,然后在web中 http://10.109.18.226:15672 用户名和密码都是guest guest。如果局域网无法访问设置防火墙过滤规则或关闭防火墙。
  具体的显示效果如下图:
  
  
  
 

4.rabbitmq可以搭建为集群

rabbitmq是用erlang开发的,集群使用起来非常方便,因为erlang天生就是一门分布式语言。

rabbitmq的集群包括内存节点、磁盘节点不过,如果再投递消息时,打开了消息的持久化,那么即使是内存节点,数据还是安全的放在磁盘。

rabbitmq的集群配置是依赖于/var/lib/rabbitmq/.erlang.cookie这个文件,该文件是集群节点进行通信的验证密钥,所有节点必须一致。

具体的配置信息见:http://windwrite.com/archives/206

5.rabbitmq的高可用性

rabbitmq集群并不保证队列的高可用性,尽管交换机、绑定这些可以复制到集群里的任何一个节点,但是队列的内容不会复制。

在集群里创建队列时,队列内容并不会复制到集群的每个节点上。RabbitMQ会挑选一个节点创建队列(这个选择算法是随机、轮询、还是基于资源负载的,有待深究),只有该节点上存储队列的完整内容。其他节点拥有队列的元数据(metadata),以及指向队列存储节点的指针。只有该队列是非持久的,客户端才能重新连接到集群里的其他节点,并重新创建队列。假如该队列是持久化的,那么唯一办法是将故障节点恢复起来。为什么RabbitMQ不将队列复制到集群里每个节点呢?这与它的集群的设计本意相冲突,集群的设计目的就是增加更多节点时,能线性的增加性能(CPU、内存)和容量(内存、磁盘)。当然RabbitMQ集群也支持队列复制(有个选项可以配置)。比如在有五个节点的集群里,可以指定某个队列的内容在2个节点上进行存储,从而在性能与高可用性之间取得一个平衡。

搭建架构:
一个haproxy,反向代理rabbitmq服务节点,rabbitmq服务只代理内存节点,保证速度。
web监控端代理磁盘节点,所有节点都是元数据都是同步的。
基本上可以保证如果不是所有的机器都down了,rabbitmq服务就不会down。具体的搭建见:http://www.tuicool.com/articles/YbYvIj

  

  

linux下安装rabbitmq的更多相关文章

  1. RabbitMQ教程(二) ——linux下安装rabbitmq

    安装过程参考官网: Installing on RPM-based Linux (RHEL, CentOS, Fedora, openSUSE) 首先需要安装erlang,参考:http://fedo ...

  2. 在Linux下安装RabbitMQ

    Installing on RPM-based Linux (CentOS, Fedora, OpenSuse, RedHat) 安装新版本的RabbitMQ出错: centos端口转发神器:soca ...

  3. linux下安装rabbitmq的rpm包问题记录

    安装rabbitmq的文章和帖子多如牛毛,不管是官网还是各个博客,这里附个Rabbitmq官网安装Rpm包的链接, http://www.rabbitmq.com/install-rpm.html 不 ...

  4. linux下安装rabbitmq 集群

    1.下载erlang官网地址 http://www.erlang.org/download 挑选合适的版本 然后 wget 比如目前18.3运行命令 wget http://erlang.org/do ...

  5. linux下安装rabbitmq以及在spring中进行集成

    ### 一.安装erlang 1. yum install ncurses-devel 2. ./configure --prefix=/usr/local/erlang20 --without-ja ...

  6. 【Linux】Linux下安装RabbitMQ服务

    一.安装步骤 1)安装erlang yum install -y erlang2)安装rabbitmq-serveryum install -y rabbitmq-server3)开启rabbitmq ...

  7. Linux 下安装RabbitMQ 3.6.1

    1.安装erlang 依赖 yum install -y gcc gcc-c++ unixODBC-devel openssl-devel ncurses-devel 2.安装erlang ### 设 ...

  8. centos 7环境下安装rabbitmq

    以 前在windows 7下面成功安装过rabbitmq,但是在windows 10下面安装失败,各种问题,各种解决方法都试过,还是不成功,最终放弃治疗. 后来经人指点,在linux下安装rabbit ...

  9. 在linux下安装配置rabbitMQ详细教程

    在linux下安装配置rabbitMQ详细教程 2017年12月20日 17:34:47 阅读数:7539 安装Erlang 由于RabbitMQ依赖Erlang, 所以需要先安装Erlang. Er ...

随机推荐

  1. 模拟SPI协议时序

    SPI是串行外设接口总线,摩托罗拉公司开发的一种全双工,同步通信总线,有四线制和三线制. 在单片机系统应用中,单片机常常是被用来当做主机(MASTER),外围器件被当做从机(SLAVE). 所以,在以 ...

  2. vb6加载时提示出错,窗体log文件中错误信息为:控件 XX 的类 MSComctlLib.ListView 不是一个已加载的控件类。

    解决办法:单击[工程] -- [部件] 添加此Microsoft Windows Common Controls-6.0 (SP6)部件,如果列表中没有,浏览到~\project\包\Support中 ...

  3. CentOS安装配置Tomcat7

    1.下载apache-tomcat-7.0.62.tar.gz 2.解压:tar -zxvf apache-tomcat-7.0.62.tar.gz 3.配置环境变量: 进入安装目录:(/usr/lo ...

  4. TortoiseGit保存用户名及密码

    保存密码方式如下,需要setting中填写自己的名字,Email地址,并在.gitconfig中 [credential] 中设置helper = store

  5. js预编译

    先来做三个测试 eg1: var a; a = 1; function a() {}; console.log(a); eg2: var a; function a() {}; console.log ...

  6. Redis使用详细教程

    Redis使用详细教程 一.Redis基础部分: 1.redis介绍与安装比mysql快10倍以上 *****************redis适用场合**************** 1.取最新N个 ...

  7. hdu_4529_郑厂长系列故事——N骑士问题(状压DP)

    题目连接:http://acm.hdu.edu.cn/showproblem.php?pid=4529 题意:中文,不解释 题解:状压DP,dp[i][j][k][s]表示第i行当前用了j个骑士,i- ...

  8. Box of Bricks

    Box of Bricks Time Limit : 2000/1000ms (Java/Other)   Memory Limit : 65536/32768K (Java/Other) Total ...

  9. Eclipse报错 due to restriction on required library C:/Java/jdk1.7.51/jre/lib/rt.jar 解决方案

    Eclipse报错 due to restriction on required library C:/Java/jdk1.6.0_10/jre/lib/rt.jar 解决方案 Eclipse 编译时 ...

  10. 获取IP地址bash[转载]

    ipaddr=`/sbin/ifconfig | grep 'inet addr:' | grep -v '127.0.0.1' | cut -d : -f2 | awk '{print $1}'`