RabbitMQ镜像集群搭建

RabbitMQ 官网 https://www.rabbitmq.com/

小编使用的系统环境是CentOS7.4

系统 IP hostname
CentOS7.4 1.1.1.1 hostname01
CentOS7.4 1.1.1.2 hostname02

下载

格外强调,注意RabbitMQ与erlang的版本是否匹配

查看匹配网址 https://www.rabbitmq.com/which-erlang.html

  • erlang22.3

  • rabbitmq3.8.3

安装

安装erlang

解压erlang

tar -zxvf otp_src_22.3.tar.gz

准备erlang编译工具

yum install make gcc gcc-c++ build-essential openssl openssl-devel unixODBC unixODBC-devel kernel-devel m4 ncurses-devel

创建文件夹

mkdir -p /usr/local/erlang

编译

cd otp_src_22.3
./configure  --prefix=/usr/local/erlang --without-javac
make && make install

环境变量配置

vi /etc/profile

配置

export ERLANG_HOME=/usr/local/erlang
export PATH=${ERLANG_HOME}/bin:${PATH}

刷新配置

source /etc/profile

创建软连

ln -s /usr/local/erlang/bin/erl /usr/local/bin/erl

测试

erl

安装 socat

yum install -y socat

安装rabbitmq

rpm -ivh --nodeps rabbitmq-server-3.8.3-1.el7.noarch.rpm

修改配置

vi /usr/lib/rabbitmq/lib/rabbitmq_server-3.8.3/ebin/rabbit.app

修改 loopback_users 中的 [<<"guest">>], 只保留 []

heartbeat 为 5

启用web管理页面

rabbitmq-plugins enable rabbitmq_management

启动rabbitmq

启动

rabbitmq-server start &

启动内容检查

rabbitmq-plugins list

开始集群

RabbitMQ事基于erlang的,所以部署RabbitMQ集群,首先要处理erlang的cookie。

重启主节点

ps -ef | grep rabbitmq
kill -9 ?
cd /usr/lib/rabbitmq/bin
# 后台启动从机
./rabbitmq-server -deched

这一步会生成/root目录下的 .erlang.cookie,这个涉及到rabbitmq的启动方式。

配置从机的cookie

首先在主节点查询cookie,一般cookie会存在两个位置

第一个位置在

ll -la /root

第二个位置在

ll -la /var/lib/rabbitmq/

为了避免错误,将上面两个cookie分别复制到从机上的对应位置。

注意点:复制完成后,将文件权限改为600

chmod 600 .erlang.cookie

配置hosts

分别在主机、从机上配置hosts

查询hostname

cat /etc/hostname

配置hosts

vi /etc/hosts

增加如下配置

# 主ip + 主hostname
1.1.1.1 hostname01
# 从ip + 从hostname 
1.1.1.2 hostname02

配置集群

这一步仅仅是在从机上操作,主机启动RabbitMQ即可。

cd /usr/lib/rabbitmq/bin
# 后台启动从机
./rabbitmq-server -deched

./rabbitmqctl stop_app
# 这里的hostname01是指主机的hostname
./rabbitmqctl join_cluster rabbit@hostname01

./rabbitmqctl start_app

至此,RabbitMQ集群配置已完成。

验证

在图形化界面即可看到集群结果

posted @ 2020-05-29 15:08  江流大海_浮萍如尘  阅读(1129)  评论(2编辑  收藏  举报