Centos6.5 安装 RabbitMQ3.6.5


一、安装编译工具

yum -y install make gcc gcc-c++ kernel-devel m4 ncurses-devel openssl-devel

二、安装Erlang

1 下载erlang

http://erlang.org/download/otp_src_19.0.tar.gz

2 解压

tar xvf otp_src_19.0.tar.gz

cd otp_src_19.0

3 配置 '--prefix'指定的安装目录

./configure --prefix=/usr/local/erlang --with-ssl -enable-threads -enable-smmp-support -enable-kernel-poll --enable-hipe --without-javac

4 安装

make && make install

5 配置erlang环境变量

vim /etc/profile

#在文件末尾添加下面代码 'ERLANG_HOME'等于上一步'--prefix'指定的目录

ERLANG_HOME=/usr/local/erlang

PATH=$ERLANG_HOME/bin:$PATH

export ERLANG_HOME

export PATH

6 使环境变量生效

source /etc/profile

7 输入命令检验是否安装成功

erl

#如下输出表示安装成功

8 构建起erlang的集群环境

由于做rabbitmq集群之前,必须要做erlang集群。因此在erlang部署完成后,可以立即配置erlang集群。配置erlang集群的办法是让需要构建集群的几台系统的.erlang.cookie内容一致。这个文件在$HOME/目录下,将其中一台节点上的.erlang.cookie值复制下来保存到其他节点上,或者使用scp的方法也可,但是要注意文件的权限和属主属组,文件的属性为只读。

三、安装RabbitMQ集群

1下载RabbitMQ

官方下载地址:http://www.rabbitmq.com/download.html

2、解压rabbitmq

官方给的包是xz压缩包,所以需要使用xz命令

xz -d rabbitmq-server-generic-unix-3.6.5.tar.xz

3、再用tar命令解压

tar -xvf rabbitmq-server-generic-unix-3.6.5.tar

4、开启管理页面插件

cd ./rabbitmq-3.6.5/sbin/

./rabbitmq-plugins enable rabbitmq_management

如果需要修改rabbitmq数据存储位置:

修改:rabbitmq-defaults文件的

MNESIA_BASE=${SYS_PREFIX}/var/lib/rabbitmq/mnesia

标红出修改为数据存储路径

5、服务的启动

启动

#启动命令,该命令ctrl+c后会关闭服务

./rabbitmq-server

#在后台启动Rabbit

./rabbitmq-server -detached

如果需要关闭服务:

方法一:./rabbitmqctl stop

方法二:关闭服务(kill) 找到rabbitmq服务的pid   [不推荐]

ps -ef|grep rabbitmq

kill -9 ****

6. 添加管理员账号

#进入RabbitMQ安装目录

cd /usr/local/rabbitmq-3.6.5/sbin

#添加用户

#rabbitmqctl add_user Username Password

./rabbitmqctl add_user rabbitadmin 123456

#分配用户标签

#rabbitmqctl set_user_tags User Tag

#[administrator]:管理员标签

./rabbitmqctl set_user_tags rabbitadmin administrator

7、配置防火墙策略

vim /etc/sysconfig/iptables

#RabbitMQ

-A INPUT -p tcp -m state --state NEW -m tcp --dport 15672 -j ACCEPT

-A INPUT -p tcp -m state --state NEW -m tcp --dport 25672 -j ACCEPT

-A INPUT -p tcp -m state --state NEW -m tcp --dport 5672 -j ACCEPT

-A INPUT -p tcp -m state --state NEW -m tcp --dport 4369 -j ACCEPT

-A INPUT -p tcp -m state --state NEW -m tcp --dport 5671 -j ACCEPT

#RabbitMQ

8、测试登录管理界面

浏览器输入地址:http://服务器IP地址:15672/ 
安装完成之后如果机器有iptables,需要开放端口

9、
确保节点之间主机名称可以相互解析。

10.29.1.177     SZ0PRDMON00AP0001

10.29.1.178     SZ0PRDMON00AP0002

10、建立集群

由于我们需要把177作为磁盘节点(disk),把178作为内存节点,而rabbitmq的默认模式为磁盘节点。

178上做如下操作:

./rabbitmqctl
stop_app
./rabbitmqctl reset
./rabbitmqctl join_cluster --ram rabbit@rabbitmq1
./rabbitmqctl start_app

查看节点状态:rabbitmqctl cluster_status

你会分别看到如下的内容

rabbitmq1查看的集群状态结果

[root@rabbitmq1
sbin]# ./rabbitmqctl cluster_status
Cluster status of node rabbit@rabbitmq1 ...
[{nodes,[{disc,[rabbit@rabbitmq1]},{ram,[rabbit@rabbitmq2]}]},
{running_nodes,[rabbit@rabbitmq2,rabbit@rabbitmq1]},
{partitions,[]}]
...done.

rabbitmq2查看的集群状态结果

[root@rabbitmq2
sbin]# ./rabbitmqctl cluster_status
Cluster status of node rabbit@rabbitmq2 ...
[{nodes,[{disc,[rabbit@rabbitmq1]},{ram,[rabbit@rabbitmq2]}]},
{running_nodes,[rabbit@rabbitmq1,rabbit@rabbitmq2]},
{partitions,[]}]
...done.

两台机器的内容几乎是一样的,这样的话你的集群就建立成功了.

普通的集群模式已经建立完成了

四、 HAPROXY 配置

HAProxy的安装使用非常简单,在Centos下直接yum install haproxy,然后更改/etc/haproxy/haproxy.cfg
文件即可

以下是haproxy-1.5.4版本的配置:

global

log        
127.0.0.1 local2

chroot     
/var/lib/haproxy

pidfile    
/var/run/haproxy.pid

maxconn    
4000

user       
haproxy

group      
haproxy

daemon

stats socket /var/lib/haproxy/stats

defaults

mode                    tcp

log                     global

option                  tcplog

option                  dontlognull

option                  redispatch

retries                 3

timeout queue           1m

timeout connect         10s

timeout client          1m

timeout server          1m

timeout check           10s

maxconn                 3000

listen stats

mode http

bind 0.0.0.0:1080

stats enable

stats hide-version

stats uri /haproxy

stats realm
Haproxy\ Statistics

stats auth
admin:admin

stats admin if TRUE

listen
rabbitmq_cluster

bind 0.0.0.0:5672

mode tcp

log global

balance roundrobin

server   主机名 IP:5672 check inter 2000 rise 2 fall 3。

完成之后启动:

haproxy 
-f  /etc/haproxy/haproxy.cfg

检测端口 1080和5672是否存在

访问 localhost:1080/haproxy  用户名/密码:admin/admin

类似如上的界面就表示配置成功。

在Monitor1和2服务器分别修改monitor-context.properties里面相应的地址需要修改成UAT zookeeper环境的。

修改Tomcat下面的server.xml的配置:

添加数据源:

添加文件的路径:

修改/home/software/tomcat7/conf/
catalina.properties

rabbit-mq cluster安装的更多相关文章

  1. rabbit mq的安装

    rabbit mq的安装分为window的安装和linux的安装. window的安装: 1,需要安装 安装Erlang  下载地址http://www.erlang.org/downloads 我选 ...

  2. celery+Rabbit MQ实战记录

    基于以前的一篇文章,celery+Rabbit MQ的安装和使用, 本文更加详细的介绍如何安装和使用celey, Rabbit MQ. 并记录在使用celery时遇到的一些问题. 1.安装 Rabbi ...

  3. 在 Windows 上安装Rabbit MQ 指南

    rabbitMQ是一个在AMQP协议标准基础上完整的,可服用的企业消息系统.他遵循Mozilla Public License开源协议.采用 Erlang 实现的工业级的消息队列(MQ)服务器. Ra ...

  4. windows下的php rabbit mq安装、配置

    http://www.cnblogs.com/shanyou/p/4067250.html 这篇博文写的rabbit mq和erlang的安装以及rabbitmq可视化插件的一些操作 接下去开始安装P ...

  5. (转)在 Windows 上安装Rabbit MQ 指南

    rabbitMQ是一个在AMQP协议标准基础上完整的,可服用的企业消息系统.他遵循Mozilla Public License开源协议.采用 Erlang 实现的工业级的消息队列(MQ)服务器. Ra ...

  6. Rabbit MQ 学习 (一)Window安装Erlang环境

    之前也没有用过Rabbit MQ ,最近正在学习中,记性不好,特意记一下. 百度一下 先得 安装 Erlang 并且 设置环境变量. 在Erlang 官网去下载,那个慢呀... 还好CSDN 里有人提 ...

  7. celery rabbit mq 详解

    Celery介绍和基本使用 Celery 是一个 基于python开发的分布式异步消息任务队列,通过它可以轻松的实现任务的异步处理, 如果你的业务场景中需要用到异步任务,就可以考虑使用celery, ...

  8. Rabbit MQ 入门指南

    rabbitMQ是一个在AMQP协议标准基础上完整的,可服用的企业消息系统.他遵循Mozilla Public License开源协议.采用 Erlang 实现的工业级的消息队列(MQ)服务器. Ra ...

  9. Rabbit MQ config文件解析

    Rabbit MQ config文件解析 tcp_listeners:用于监听AMQP连接的端口或主机名/对(不带TLS),默认端口:5672 2.numtcpacceptors :将接受TCP侦听器 ...

  10. 分布式消息中间件Rabbit Mq的了解与使用

    MQ(消息队列)作为现代比较流行的技术,在互联网应用平台中作为中间件,主要解决了应用解耦.异步通信.流量削锋.服务总线等问题,为实现高并发.高可用.高伸缩的企业应用提供了条件. 目前市面比较流行的消息 ...

随机推荐

  1. Golang的进制转换实战案例

    Golang的进制转换实战案例 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.常用进制概述 1>.进制概述 进制也就是进位制,是人们规定的一种进位方法.举个例子:二进制就 ...

  2. 略坑的C#自动回收机制

    说起这个坑货,要说说折腾了好久的bug,项目对方需要在32位系统上使用,C#加载图像扔给C++处理再返回.所以想好了,C#这边加载图像开好内存扔给C++,各自开的内存各自释放. 所以,在32位系统上出 ...

  3. JPA#ManyToMany

    多对多,多个学生选了多个课程. 涉及到的注解(注解的使用看注释):ManyToManyJoinTableJsonIgnoreProperties @Entity @Table(name = " ...

  4. 二十二、JavaScript之在对象中写函数

    一.代码如下 二.效果如下 <!DOCTYPE html> <html> <meta http-equiv="Content-Type" conten ...

  5. 152-PHP htmlspecialchars函数

    <?php //定义一个HTML代码字符串 $str=<<<HTM <a href=#><b><i>到一个网址的链接<>< ...

  6. 实验吧-隐写术-男神一般都很低调很低调的!!(stegsolve->Image Combiner + DES加密)

    先介绍一下DES加密:(也可参考https://blog.csdn.net/zz_Caleb/article/details/87016017,第14个) 1)对称加密,参考:对称加密和非对称加密 2 ...

  7. html 如何使表格一列都变颜色的简单方法!!

    html怎么让一列变颜色用到属性colgroup 重点我都加粗了!! <colgroup span="3"  bgcolor="yellow">&l ...

  8. mysql 手动把字段设置为null

    在根据经纬度计算距离的时候,发现有的视频点距离我当前位置的距离计算出来的为0,有的距离计算出来是几千公里,仔细看下数据库,发现了问题所在 计算出来几千公里的视屏点的经纬度是空不是null,然后我们手动 ...

  9. mysql与mariadb性能测试方法

    本方法来自于阿里云的MySQL性能白皮书,原文地址:https://help.aliyun.com/document_detail/35264.html?spm=a2c4g.11174359.6.77 ...

  10. Day1-T4

    原题目 Describe:注意是“两次及以上”而不是“两种及以上”!! code: #include<bits/stdc++.h> using namespace std; int k,m ...