rabbit-mq cluster安装
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安装的更多相关文章
- rabbit mq的安装
rabbit mq的安装分为window的安装和linux的安装. window的安装: 1,需要安装 安装Erlang 下载地址http://www.erlang.org/downloads 我选 ...
- celery+Rabbit MQ实战记录
基于以前的一篇文章,celery+Rabbit MQ的安装和使用, 本文更加详细的介绍如何安装和使用celey, Rabbit MQ. 并记录在使用celery时遇到的一些问题. 1.安装 Rabbi ...
- 在 Windows 上安装Rabbit MQ 指南
rabbitMQ是一个在AMQP协议标准基础上完整的,可服用的企业消息系统.他遵循Mozilla Public License开源协议.采用 Erlang 实现的工业级的消息队列(MQ)服务器. Ra ...
- windows下的php rabbit mq安装、配置
http://www.cnblogs.com/shanyou/p/4067250.html 这篇博文写的rabbit mq和erlang的安装以及rabbitmq可视化插件的一些操作 接下去开始安装P ...
- (转)在 Windows 上安装Rabbit MQ 指南
rabbitMQ是一个在AMQP协议标准基础上完整的,可服用的企业消息系统.他遵循Mozilla Public License开源协议.采用 Erlang 实现的工业级的消息队列(MQ)服务器. Ra ...
- Rabbit MQ 学习 (一)Window安装Erlang环境
之前也没有用过Rabbit MQ ,最近正在学习中,记性不好,特意记一下. 百度一下 先得 安装 Erlang 并且 设置环境变量. 在Erlang 官网去下载,那个慢呀... 还好CSDN 里有人提 ...
- celery rabbit mq 详解
Celery介绍和基本使用 Celery 是一个 基于python开发的分布式异步消息任务队列,通过它可以轻松的实现任务的异步处理, 如果你的业务场景中需要用到异步任务,就可以考虑使用celery, ...
- Rabbit MQ 入门指南
rabbitMQ是一个在AMQP协议标准基础上完整的,可服用的企业消息系统.他遵循Mozilla Public License开源协议.采用 Erlang 实现的工业级的消息队列(MQ)服务器. Ra ...
- Rabbit MQ config文件解析
Rabbit MQ config文件解析 tcp_listeners:用于监听AMQP连接的端口或主机名/对(不带TLS),默认端口:5672 2.numtcpacceptors :将接受TCP侦听器 ...
- 分布式消息中间件Rabbit Mq的了解与使用
MQ(消息队列)作为现代比较流行的技术,在互联网应用平台中作为中间件,主要解决了应用解耦.异步通信.流量削锋.服务总线等问题,为实现高并发.高可用.高伸缩的企业应用提供了条件. 目前市面比较流行的消息 ...
随机推荐
- netty权威指南学习笔记一——NIO入门(3)NIO
经过前面的铺垫,在这一节我们进入NIO编程,NIO弥补了原来同步阻塞IO的不足,他提供了高速的.面向块的I/O,NIO中加入的Buffer缓冲区,体现了与原I/O的一个重要区别.在面向流的I/O中,可 ...
- CentOS 6.8 32位 安装mysql8
1.清理掉之前安装过的mysql rpm -qa | grep mysql mysql-libs-5.1.52-1.el6_0.1.x86_64 yum remove mysql-libs-5.1.5 ...
- Flask的请求钩子与上下文简览
请求钩子(Hook) 在客户端和服务器交互的过程中,有些准备工作或扫尾工作需要处理,比如:在请求开始时,建立数据库连接:在请求结束时,指定数据的交互格式.为了让>每个视图函数避免编写重复功能的代 ...
- while循环和do-while循环语句
while 语句 条件表达式的结果是一个 boolean 值,如果为true,则执行循环体:如果为 false,循环就会结束. while 循环体是一个代码块,所以 while 循环是可以嵌套其他的语 ...
- jQuery原理系列-常用Dom操作
1. 事件绑定$(el).bind ie使用attachEvent,其它浏览器使用addEventListener,不同的是ie多了个on前缀,this绑定在window上,需要用call和apply ...
- 实验吧-杂项-啦啦啦(数据包http导出、图片拼接)
比较综合的一道题. 1.数据包数据提取 首先下载数据包,一般数据包都是抓取的一些数据,需要对数据进行分析. 用wireshark打开数据包,筛选出http协议的数据,发现有两个是上传的数据: 我们就看 ...
- NumPy 基于数值区间创建数组
来源:Python Numpy 教程 章节 Numpy 介绍 Numpy 安装 NumPy ndarray NumPy 数据类型 NumPy 数组创建 NumPy 基于已有数据创建数组 NumPy 基 ...
- JavaWeb学习记录
服务器端跳转(请求重定向): 1.jsp内跳转 : <jsp:forward page="page_scope_03.jsp"/> 客户端跳转(请求转发): 1.通过超 ...
- SpringAOP切入点的表达式
1. 常用的切入点表达式分为: (1)按类型匹配:within 关键字 (2)按函数匹配:execution (3)按bean的id匹配:bean 2.按类匹配的写法 匹配到具体的类:<aop ...
- HTML隐藏
JS: $("#department").hide(); JSP: <th id="department" width="5%"> ...