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(消息队列)作为现代比较流行的技术,在互联网应用平台中作为中间件,主要解决了应用解耦.异步通信.流量削锋.服务总线等问题,为实现高并发.高可用.高伸缩的企业应用提供了条件. 目前市面比较流行的消息 ...
随机推荐
- Golang的进制转换实战案例
Golang的进制转换实战案例 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.常用进制概述 1>.进制概述 进制也就是进位制,是人们规定的一种进位方法.举个例子:二进制就 ...
- 略坑的C#自动回收机制
说起这个坑货,要说说折腾了好久的bug,项目对方需要在32位系统上使用,C#加载图像扔给C++处理再返回.所以想好了,C#这边加载图像开好内存扔给C++,各自开的内存各自释放. 所以,在32位系统上出 ...
- JPA#ManyToMany
多对多,多个学生选了多个课程. 涉及到的注解(注解的使用看注释):ManyToManyJoinTableJsonIgnoreProperties @Entity @Table(name = " ...
- 二十二、JavaScript之在对象中写函数
一.代码如下 二.效果如下 <!DOCTYPE html> <html> <meta http-equiv="Content-Type" conten ...
- 152-PHP htmlspecialchars函数
<?php //定义一个HTML代码字符串 $str=<<<HTM <a href=#><b><i>到一个网址的链接<>< ...
- 实验吧-隐写术-男神一般都很低调很低调的!!(stegsolve->Image Combiner + DES加密)
先介绍一下DES加密:(也可参考https://blog.csdn.net/zz_Caleb/article/details/87016017,第14个) 1)对称加密,参考:对称加密和非对称加密 2 ...
- html 如何使表格一列都变颜色的简单方法!!
html怎么让一列变颜色用到属性colgroup 重点我都加粗了!! <colgroup span="3" bgcolor="yellow">&l ...
- mysql 手动把字段设置为null
在根据经纬度计算距离的时候,发现有的视频点距离我当前位置的距离计算出来的为0,有的距离计算出来是几千公里,仔细看下数据库,发现了问题所在 计算出来几千公里的视屏点的经纬度是空不是null,然后我们手动 ...
- mysql与mariadb性能测试方法
本方法来自于阿里云的MySQL性能白皮书,原文地址:https://help.aliyun.com/document_detail/35264.html?spm=a2c4g.11174359.6.77 ...
- Day1-T4
原题目 Describe:注意是“两次及以上”而不是“两种及以上”!! code: #include<bits/stdc++.h> using namespace std; int k,m ...