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. Java容器--Queue

    ConcurrentLinkedQueue 参考 https://www.cnblogs.com/leesf456/p/5539142.html ConcurerntLinkedQueue一个基于链接 ...

  2. 九、JavaScript之分号使用,支持一行多语句

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

  3. 026-PHP常用字符串函数(三)

    <?php //颠倒字串 print("abcdefg 颠倒 "); print(strrev("abcdefg")."<hr>&q ...

  4. lz-cms

    去年这个时候也是8月份,离开了生活9年的福州来到厦门,已整整一年的时间.离开福州的原因,就是不想让自己在安逸中沉沦下去,需要重新寻找技术的激情.来到新公司后,也开始投入老板梦想中的那个伟大CMS的研发 ...

  5. c# 占位符 {0} {1}

    占位符就是先占住一个固定的位置,等着你再往里面添加内容的符号.站位符由{数字}组成,数字由0开始编号. 第1个占位符:{0} 第2个占位符:{1} 第2个占位符:{2} 初学C#之变量.占位符.转义符 ...

  6. MacOS通过ssh连接基于Virtualbox的Ubuntu虚拟机

    以前总是用Windows软件putty进行ssh连接,今天尝试使用macos. 实验环境:主机:macos 10.15.3 客户机:Ubuntu 18.04 默认情况下,Ubuntu没有安装SSH,需 ...

  7. Ubuntu 14.04 搭建 ftp

    一.安装ftp服务器vsftpd $sudo apt-get update $sudo apt-get install vsftpd ftp服务器使用21端口,安装成功之后查看是否打开21端口 $ s ...

  8. cd oldpwd

    常用方式 环境变量OLDPWD表示前一次的当前目录.刚登录系统之后,这个变量是没有设置的. 环境变量PWD表示当前目录. 环境变量CDPATH用来指定cd命令的搜索路径,类似于PATH,它也是用:分隔 ...

  9. 腾讯电话面试总结(IEG后台开发)

    1 Java面向对象:设计window画板的类框架.假设现在只有  直线.矩形.椭圆,怎么设计 2 Linux shell命令  定时怎么做 3 平时有问题经常访问那些网站 4 假设你现在是web网站 ...

  10. JS高级学习笔记(9) 之 转:前端路由跳转基本原理

    原文链接: 前端路由跳转基本原理 前述 前端三大框架Angular.React和Vue都推行单页面应用SPA开发模式,这是因为在路由切换时,替换DOM Tree中发生修改的DOM部分,来减少原来因为多 ...