首页 > 代码库 > CentOS6.5中配置Rabbitmq3.6.6集群方案

CentOS6.5中配置Rabbitmq3.6.6集群方案

一、安装Erlang环境

1、下载erlang源代码

wget http://erlang.org/download/otp_src_19.1.tar.gz

2、安装依赖相关库文件

yum install ncurses ncurses-base ncurses-devel ncurses-libs ncurses-static ncurses-term ocaml-curses ocaml-curses-devel openssl-devel zlib-devel -y

3、编译安装Erlang

tar zxf otp_src_19.1.tar.gz
cd otp_src_19.1
./configure --prefix=/opt/erlang/19.1 --with-ssl -enable-threads -enable-smmp-support -enable-kernel-poll --enable-hipe --without-javac
make && make install

4、配置环境变量(/etc/profile.d/erlang.sh)

ERLANG_HOME=/opt/erlang/19.1
PATH=$ERLANG_HOME/bin:$PATH
export ERLANG_HOME
export PATH

source /etc/profile.d/erlang.sh

5、验证Erlang环境正确与否

执行命令:erl

二、安装RabbitMQ3.6.6

1、下载RabbitMQ源代码

wget http://www.rabbitmq.com/releases/rabbitmq-server/v3.6.6/rabbitmq-server-generic-unix-3.6.6.tar.xz
xz -d
rabbitmq-server-generic-unix-3.6.6.tar.xz
tar xf
rabbitmq-server-generic-unix-3.6.6.tar

2、启动、关闭rabbitmq-server

./rabbitmq-server -detached
./rabbitmq-plugins enable rabbitmq_management #开启插件管理页面 打开端口15672
./rabbitmqctl stop #关闭服务

3、创建用户

./rabbitmqctl add_user admin password
./rabbitmqctl set_user_tags mquser administrator
./rabbitmqctl set_permissions -p "/" admin ".*" ".*" ".*"
rabbitmqctl list_user_permissions admin

4、WEB登陆

http://*.*.*.*:15672

三、集群搭建

1、服务器选择

hostname      IP
 node1   192.168
.1.100  node2   192.168.1.101  node3   192.168.1.102

2、在三台服务器上分别修改配置

(1) 修改/etc/hosts

192.168.1.100    node1
192.168.1.101    node2
192.168.1.102    node3

(2) 修改/etc/sysconfig/network

HOSTNAME=node1   #node1服务器
HOSTNAME=node2   #node2服务器
HOSTNAME=node3   #node3服务器

(3) 设置hostname

hostname node1    #node1服务器
hostname node2    #node2服务器
hostname node3    #node3服务器

3、修改erlang.cookie,使三台服务器保持一致

通过远程复制文件(scp)或者直接复制内容均是可以的

4、设置好erlang.cookie之后,使用detached后台启动rabbitmq-server

启动     : ./rabbitmq-server -detached
查看各节点状态:./rabbitmqctl cluster_status

5、把node2、node3分别加入到集群node1中

  rabbitmqctl stop_app ---仅关闭应用,节点不被关闭

(1) node2

./rabbitmqctl stop_app
./rabbitmqctl join_cluster --ram rabbit@node1
./rabbitmqctl start_app

(2) node3

./rabbitmqctl stop_app
./rabbitmqctl join_cluster --ram rabbit@node1
./rabbitmqctl start_app

6、查看集群情况

./rabbitmqctl cluster_status
[{nodes,[{disc,[rabbit@node1]},{ram,[rabbit@node3,rabbit@node2]}]},
 {running_nodes,[rabbit@node3,rabbit@node2,rabbit@node1]},
 {cluster_name,<<"rabbit@node1">>},
 {partitions,[]},
 {alarms,[{rabbit@node3,[]},{rabbit@node2,[]},{rabbit@node1,[]}]}]

CentOS6.5中配置Rabbitmq3.6.6集群方案