RabbitMq 集群配置
1. RabbitMQ 所需的附属安装包
1.1 openGL安装
执行命令:
[root@localhost local]# yum install mesa-libGL-devel mesa-libGLU-devel freeglut-devel gcc glibc-devel make ncurses-devel openssl-devel autoconf xmlto libtool automake -y
1.2 erlang 安装
下载 erlang http://erlang.org/download/otp_src_18.2.1.tar.gz
解压 otp_src_18.2.1.tar.gz 到 /usr/local 下
[root@localhost local]# tar -xvf otp_src_18.2.1.tar.gz
进入解压后目录 执行命令:
[root@localhost local]# cd otp_src_18.2.1
[root@localhost otp_src_18.2.1]# ./configure --prefix=/usr/local/erlang_7.2.1 --enable-threads --enable-halfword-emulator --enable-smp-support --enable-kernel-poll --enable-sctp --enable-native-libs --enable-shared-zlib --enable-m64-build --enable-silent-rules
执行命令:[root@localhost otp_src_18.2.1]# make && make install
给erlang_7.2.1 文件夹创建 软连接
[root@localhost local]# cd ../
[root@localhost local]# ln -s erlang_7.2.1 erlang_7.2.1_ln
配置erlang环境变量
编辑 /etc/profile
[root@localhost local]# vim /etc/profile ( 按i 进入编辑模式,在末尾处添加 一下内容)
#set environment
ERL_HOME=/usr/local/erlang_7.2.1
PATH=$ERL_HOME/bin:$PATH
export ERL_HOME PATH
按“Esc”键,再按“Shift+:”,在“:”后输入“wq”
[root@localhost local]# source /etc/profile
测试是否安装成功
[root@localhost local]# erl
出现如下图表示成功

按“ctrl + z”键,退出
1.3 python 安装
[root@localhost local]# yum install python python-devel -y
1.4 simplejson 安装
下载 simplejson https://pypi.python.org/pypi/simplejson
最新版本为 3.8.2 ,选择版本下载
解压 simplejson-3.8.2.tar.gz 到 /usr/local 下
[root@localhost local]# tar -xvf simplejson-3.8.2.tar.gz
[root@localhost local]# cd simplejson-3.8.2
[root@localhost simplejson-3.8.2]# python setup.py build
[root@localhost simplejson-3.8.2]# python setup.py install
测试安装是否成功
[root@localhost local]# python
出现如下图表示成功

按“ctrl + z”键,退出
2 . RabbitMQ 安装
2.1 RabbitMQ 第一种安装方式 (解压即可用)
下载 rabbitmq-server
http://www.rabbitmq.com/releases/rabbitmq-server/v3.6.0/rabbitmq-server-generic-unix-3.6.0.tar.xz
安装解压 tar.xz 工具
[root@localhost local]# yum -y install xz
解压 rabbitmq-server-generic-unix-3.6.0.tar.xz 到 /usr/local 下
[root@localhost local]# xz -d rabbitmq-server-generic-unix-3.6.0.tar.xz
[root@localhost local]# tar -xvf rabbitmq-server-generic-unix-3.6.0.tar
[root@localhost local]# mv rabbitmq_server-3.6.0 rabbitmq-server-3.6.0
配置rabbitmq环境变量
编辑 /etc/profile
[root@localhost local]# vim /etc/profile ( 按i 进入编辑模式,在path 基础上添加 变量)
#set environment
RABBITMG_HOME=/usr/local/rabbitmg-server-3.6.0
ERL_HOME=/usr/local/erlang_7.2.1
PATH=$RABBITMG_HOME/sbin:$ERL_HOME/bin:$PATH
export PATH ERL_HOME
按“Esc”键,再按“Shift+:”,在“:”后输入“wq”
[root@localhost local]# source /etc/profile
[root@localhost local]# cd rabbitmq-server-3.6.0/sbin/
启用管理方式(用网页方式管理MQ)
[root@localhost sbin]# ./rabbitmq-plugins enable rabbitmq_management
[root@localhost sbin]# ./rabbitmq-server -detached
设置端口号 可以外部访问
[root@localhost sbin]# /sbin/iptables -I INPUT -p tcp --dport 5672 -j ACCEPT
[root@localhost sbin]# /sbin/iptables -I INPUT -p tcp --dport 15672 -j ACCEPT
[root@localhost sbin]# /etc/rc.d/init.d/iptables save
[root@localhost sbin]# /etc/init.d/iptables restart
访问 http://ip:15672/#/ 看是否有rabbitMQ管理登录页面

添加用户 admin /admin 在页面访问
[root@localhost sbin]# ./rabbitmqctl add_user admin admin
[root@localhost sbin]# ./rabbitmqctl set_user_tags admin administrator
[root@localhost sbin]# ./rabbitmqctl set_permissions -p "/" admin ".*" ".*" ".*"
使用 admin 使用户即可登录
2.2 RabbitMQ 第二种安装方式 (下载源码包自己编译)
下载 rabbitmq-server
http://www.rabbitmq.com/releases/rabbitmq-server/v3.6.0/rabbitmq-server-3.6.0.tar.xz
安装解压 tar.xz 工具
[root@localhost local]# yum -y install xz
解压 rabbitmq-server-generic-unix-3.3.0.tar.gz 到 /usr/local 下
[root@localhost local]# xz -d rabbitmq-server-3.6.0.tar.xz
[root@localhost local]# tar -xvf rabbitmq-server-3.6.0.tar
配置rabbitmq环境变量
编辑 /etc/profile
[root@localhost local]# vim /etc/profile ( 按i 进入编辑模式,在path 基础上添加 变量)
#set environment
RABBITMG_HOME=/usr/local/rabbitmg-server-3.6.0
ERL_HOME=/usr/local/erlang_7.2.1
PATH=$RABBITMG_HOME/sbin:$ERL_HOME/bin:$PATH
export PATH ERL_HOME
按“Esc”键,再按“Shift+:”,在“:”后输入“wq”
[root@localhost local]# source /etc/profile
如果未安装 rsyn 先安装, 否则源码编译 rabbitmq 报错
[root@localhost local]# yum -y install rsync
[root@localhost local]# cd rabbitmq-server-3.6.0/
[root@rabbitmq-server-3.6.0]# make TARGET_DIR=/usr/local/rabbitmq-server-3.6.0 SBIN_DIR=/usr/local/rabbitmq-server-3.6.0/sbin MAN_DIR=/usr/local/rabbitmq-server-3.6.0/man DOC_INSTALL_DIR=/usr/local/rabbitmq-server-3.6.0/doc instal
创建rabbitmq网页管理文件夹
[root@localhost rabbitmq-server-3.6.0]# mkdir /etc/rabbitmq
启用管理方式(用网页方式管理MQ)
[root@localhost rabbitmq-server-3.6.0]# cd scripts/
[root@localhost scripts]# ./rabbitmq-plugins enable rabbitmq_management
[root@localhost scripts]# ./rabbitmq-server -detached
配置端口号 可以外部访问
[root@localhost scripts]# iptables -I INPUT -p tcp --dport 5672 -j ACCEPT
[root@localhost scripts]# iptables -I INPUT -p tcp --dport 15672 -j ACCEPT
[root@localhost scripts]# /etc/rc.d/init.d/iptables save
[root@localhost scripts]# /etc/init.d/iptables restart
访问 http://ip:15672/#/ 看是否有rabbitMQ管理登录页面

添加用户 admin /admin 在页面访问
[root@localhost scripts]# ./rabbitmqctl add_user admin admin
[root@localhost scripts]# ./rabbitmqctl set_user_tags admin administrator
[root@localhost scripts]# ./rabbitmqctl set_permissions -p "/" admin ".*" ".*" ".*"
使用 admin 使用户即可登录
至此 rabbitMQ 单机版 安装完成
**************************** END*************************************
RabbitMQ集群搭建
在另一台电脑搭建rabbitMQ
编辑 hosts 添加集群ip地址 先在node2 配置
[root@localhost sbin]# vim /etc/hosts
127.0.0.1 node2
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.31.139 node2
192.168.31.140 node1
[root@localhost sbin]# vim /etc/sysconfig/network
NETWORKING=yes
HOSTNAME=node2
[root@localhost sbin]# iptables -I INPUT -p tcp --dport 4369 -j ACCEPT
[root@localhost sbin]# iptables -I INPUT -p tcp --dport 25672 -j ACCEPT
[root@localhost sbin]# /etc/rc.d/init.d/iptables save
[root@localhost sbin]# /etc/rc.d/init.d/iptables restart
编辑 hosts 添加集群ip地址 再在node1 配置
[root@localhost sbin]# vim /etc/hosts
127.0.0.1 node1
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.31.140 node1
192.168.31.139 node2
[root@localhost sbin]# vim /etc/sysconfig/network
NETWORKING=yes
HOSTNAME=node1
[root@localhost sbin]# iptables -I INPUT -p tcp --dport 4369 -j ACCEPT
[root@localhost sbin]# iptables -I INPUT -p tcp --dport 25672 -j ACCEPT
[root@localhost sbin]# /etc/rc.d/init.d/iptables save
[root@localhost sbin]# /etc/rc.d/init.d/iptables restart
1.如上配置完成后重启两电脑
2. 首先将node1的文件(/root/.erlang.cookie)内容copy到node2的相应位置
[root@localhost ~]# cat .erlang.cookie
将cookie 值 复制 在另一台电脑 执行如下命令
[root@localhost ~]# echo ‘scookie value’> .erlang.cookie
- 启动node1的rabbitmq
[root@localhost ~]# cd /usr/local/rabbitmq-server-3.6.0/sbin/
[root@localhost sbin]# ./rabbitmq-server -detached
4. 在node2上执行
[root@localhost sbin]# ./rabbitmqctl stop_app
[root@localhost sbin]# ./rabbitmqctl reset
[root@localhost sbin]# ./rabbitmqctl join_cluster rabbit@node1
登录 node1 如图 ,集群配置完成

再执行如下命令 启动node2
[root@localhost sbin]# ./rabbitmqctl start_app

**************************** END*************************************
Haproxy 负载均衡
在服务器上 安装 haproxy
[root@localhost local]# yum install haproxy
安装完成后 编辑 /etc/haproxy/haproxy.cfg 文件
[root@localhost local]# vim /etc/haproxy/haproxy.cfg
后台 按i 进入编辑模式 在文件最后添加如下 配置
#配置监听rabbitmq
listen rabbitmq_cluster 0.0.0.0:5672
mode tcp
Balance roundrobin
server node1 192.168.31.140:5672 check inter 2000 rise 2 fall 3
server node2 192.168.31.139:5672 check inter 2000 rise 2 fall 3
#配置监听页面
listen stats
mode http
bind *:1080
stats enable
stats hide-version
stats uri /stats
stats realm haproxy_stats
stats auth admin:admin
保存退出编辑模式
进入 haproxy 启动 haprox
[root@localhost local]# cd /usr/sbin
[root@localhost sbin]# ./haproxy -f /etc/haproxy/haproxy.cfg
可能会有警告 PS :无视就行

打开配置监听页面窗口 1080
[root@localhost sbin]# iptables -I INPUT -p tcp --dport 1080 -j ACCEPT
[root@localhost sbin]# /etc/rc.d/init.d/iptables save
[root@localhost sbin]# /etc/rc.d/init.d/iptables restart
访问监听页面 http://ip/stats ip为 配置负载均衡服务器的ip地址
输入密码后即可看到监听页面

**************************** END*************************************
RabbitMq 集群配置的更多相关文章
- rabbitmq集群配置
原文地址:http://www.360doc.com/content/14/0911/17/15077656_408713893.shtml 按照文章中的方式成功建立了两台机器的集群. 但文章中加入集 ...
- Rabbitmq集群安装配置
Rabbitmq集群安装与配置 一.rabbitmq安装环境准备 1.安装环境准备 这里,我们以两个节点为例进行安装,一个节点为内存节点,另一个节点为硬盘节点,具体可根据自己需要分配节点. 安装系统 ...
- Springboot 1.5.x 集成基于Centos7的RabbitMQ集群安装及配置
RabbitMQ简介 RabbitMQ是实现了高级消息队列协议(AMQP)的开源消息代理软件(亦称面向消息的中间件). RabbitMQ是一套开源(MPL)的消息队列服务软件,是由LShift提供的一 ...
- RabbitMQ(三) 集群配置
RabbitMQ--集群配置 之前不管是搞Redis.SQL.Mongo还是其他的东西,一律都没说过集群要怎么搞,电脑实在是带不动.说透彻点就是懒,懒得搭也懒得写,今日深刻意识到错误,做学问是不能懒的 ...
- RabbitMq 集群搭建
实验环境: 操作系统为 Centos 7.2 IP hostName 192.168.190.132 node132 192.168.190.139 node139 192.168.190.1 ...
- CentOS7安装RabbitMQ集群
实验环境 RabbitMQ 集群 server1.example.com IP: 10.10.10.11 Node: diskserver2.example.com IP: 10.1 ...
- 用 HAproxy 搭建 RabbitMQ 集群
构建参考: [ Rabbitmq cluster setup with HAproxy ] [ python demo ] RabbitMQ Cluster 遇到的问题 python pika 作为c ...
- RabbitMQ集群搭建和使用
一.环境准备 1.选择RabbitMQ的版本 http://www.rabbitmq.com/changelog.html 注: 不同版本的Linux选择的RabbitMQ版本也不同,参照 http: ...
- centos7 rabbitmq集群搭建+高可用
环境 [root@node1 ~]# cat /etc/redhat-release CentOS Linux release (Core) [root@node1 ~]# uname -r -.el ...
随机推荐
- 使用Spring配合Junit进行单元测试的总结
最近公司的项目和自己的项目中都用到了spring集成junit进行单元测试,总结一下几种基本的用法: 1.直接对spring中注入的bean进行测试(以DAO为例): 在测试类上添加@RunWith注 ...
- android 代码生成selector drawable
public static StateListDrawable makeSelector(Context context, int idNormal, int idPressed, int idFoc ...
- ubuntu下编译protobuf
参考: http://blog.csdn.net/wuzuyu365/article/details/51900676 1.下载protobuf下载地址:https://github.com/goog ...
- Sql Server 2008和2000查询表的字段和注释
-- SQL Server 2008 SELECT 表名 = d.name, 表说明 = case when a.colorder=1 then isnull(f.value,'') else '' ...
- 介绍Unreal Engine 4中的接口(Interface)使用C++和蓝图
这个教程是从UE4 Wiki上整理而来. 在C++中直接使用Interface大家应该很熟悉.只是简单先定义一个个有虚函数的基类,然后在子类中实现相应的虚函数.像这样的虚函数的基类一般概念上叫接口.那 ...
- thinkPHP环境搭建小记
php一直以来都被人诟病,说什么设计得很糟糕,有种你别用啊,不然就别bb了.最近,森哥在去年暑假学习了php基础和mvc模式的基础上准备用尝试一下国产ThinkPHP框架. 1.搭建LAMP环境 我实 ...
- Nginx 502错误触发条件与解决办法汇总(转载)
一些运行在Nginx上的网站有时候会出现“502 Bad Gateway”错误,有些时候甚至频繁的出现.有些站长是在刚刚转移到Nginx之后就出现了这个问题,所以经常会怀疑这是不是Nginx的问题,但 ...
- iOS开发-- RunLoop的基本概念与例子分析
看了一下,上一篇貌似5个月前的
- ios录音、音频播放功能
#import <AVFoundation/AVFoundation.h> { NSInteger _timeCount; NSTimer *_timer; } @pro ...
- clipboard_monitor_in_win7
添加监听 AddClipboardFormatListener(this.Handle); 移除 RemoveClipboardFormatListener(this.Handle); #region ...