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(消息队列)作为现代比较流行的技术,在互联网应用平台中作为中间件,主要解决了应用解耦.异步通信.流量削锋.服务总线等问题,为实现高并发.高可用.高伸缩的企业应用提供了条件. 目前市面比较流行的消息 ...
随机推荐
- Ubuntu不会放弃32位应用程序
Ubuntu 开发人员澄清,人们以为 Ubuntu 将在 Ubuntu 19.10 和后续版本中放弃对运行 32 位应用程序的支持,但“根本不是这种情况”.那么这究竟是怎么一回事呢?前几天 Ubunt ...
- C++ 检测物理内存以及磁盘空间
BOOL CheckResource() { MEMORYSTATUSEX statex; statex.dwLength = sizeof (statex); GlobalMemoryStatusE ...
- CocosCreator - 向上传递事件(冒泡)
/** * 分发事件到事件流中. * this.node.dispatchEvent(new cc.Event.EventCustom("name",是否向上传递)) * ...
- css把图片方框变为圆角
border-radius:10px; 多少就设多少像素,个人需求.
- oracle 使用触发器实现id自增
前提:存在数据库di_test,主键为id.1.创建一个索引sequence create sequence di_test_id minvalue 1 nomaxvalue start with 1 ...
- NumPy 矩阵库函数
章节 Numpy 介绍 Numpy 安装 NumPy ndarray NumPy 数据类型 NumPy 数组创建 NumPy 基于已有数据创建数组 NumPy 基于数值区间创建数组 NumPy 数组切 ...
- 每天一点点之 taro 框架开发 - taro静态资源引入
1.说明: taro中客园自由的引用静态资源,不需要安装任何的loader 引用样式文件 通过ES6的import引入 2.引用js文件 import { functionName } from '. ...
- python 对axis的理解
首先请看一下官方帮助的解释: 轴用来为超过一维的数组定义的属性,二维数据拥有两个轴:第0轴沿着行的垂直往下,第1轴沿着列的方向水平延伸. 注意看,官方对于0和1的解释是轴,也就是坐标轴.而坐标轴是有 ...
- python语法技巧
目录: 7.python break continue用法 1.三元表达式 2.用列表推导式来取代map和filter 3.函数式编程 4.fluent python 阅读笔记 5.enum库用法 6 ...
- JS图片多个上传,并压缩为Base64
首先是JS 批量上传 HTML <div id="Pic_pass"> <p style="font-size: 20px;font-weight: b ...