Centos6.4安装Rabbitmq集群 原

2018-08-17 11:19:18 浏览数 (1)

1、erlang

先执行如下命令安装依赖

代码语言:javascript复制
yum -y install make gcc gcc-c   kernel-devel m4 ncurses-devel openssl-devel unixODBC-devel
yum -y install gcc glibc-devel make ncurses-devel openssl-devel xmlto perl wget

然后去http://www.erlang.org/downloads下载源码包到服务器上

代码语言:javascript复制
tar -zxvf otp_src_20.2.tar.gz -C /usr/local/

解压后执行

代码语言:javascript复制
./otp_build autoconf
./configure
make && make install

全部执行完成后输入erl命令验证安装

注意:每台机器都要执行如上步骤

2、安装rabbitmq

首先确认主机是否设置hostname,不能是localhost,否则无法建立集群

到https://github.com/rabbitmq/rabbitmq-server/releases下载rabbitmq包

解压文件

代码语言:javascript复制
tar xvf rabbitmq-server-generic-unix-3.7.4.tar 
mv rabbitmq_server-3.7.4/ rabbitmq

然后修改环境变量,增加

代码语言:javascript复制
expor PATH=$PATH:/opt/rabbitmq/sbin

更新环境变量

代码语言:javascript复制
source  /etc/profile 

启动rabbitmq

代码语言:javascript复制
rabbitmq-server -detached

增加用户使后台能够访问

代码语言:javascript复制
mkdir /etc/rabbitmq
rabbitmq-plugins enable rabbitmq_management
rabbitmqctl add_user root root
rabbitmqctl set_permissions -p / root "." "." ".*"
rabbitmqctl set_user_tags root administrator

注意:每台机器都要执行如上步骤

3、集群配置

停止其中1台机器

代码语言:javascript复制
rabbitmqctl stop

复制存货的那一台机器运行rabbit用户的根目录下的.erlang.cookie文件,如/root/.erlang.cookie,把这个文件复制替换到停止的那台机器对应用户的同名文件,同时赋权

代码语言:javascript复制
chmod 400 .erlang.cookie 

启动停止的节点,查看日志,观察cookie是否生效

代码语言:javascript复制
rabbitmq-server -detached

查看节点状态,此时应该只有1台

代码语言:javascript复制
rabbitmqctl cluster_status

然后在刚刚停止的节点上执行

代码语言:javascript复制
rabbitmqctl stop_app
rabbitmqctl join_cluster rabbit@dev01
rabbitmqctl start_app

此时再查看集群状态应该是

代码语言:javascript复制
[root@dev02 ~]# rabbitmqctl cluster_status
Cluster status of node rabbit@dev02 ...
[{nodes,[{disc,[rabbit@dev01,rabbit@dev02]}]},
 {running_nodes,[rabbit@dev01,rabbit@dev02]},
 {cluster_name,<<"rabbit@dev01">>},
 {partitions,[]},
 {alarms,[{rabbit@dev01,[]},{rabbit@dev02,[]}]}]

在管理系统上应该也是如下图

0 人点赞