Rabbitmq集群

根据项目需要,三台机器搭建一个rabbitmq集群,10.10.10.1(虚拟IP,下同)为主节点,10.10.10.2和10.10.10.3为从节点。

1、安装erlang,该软件包是rabbitMQ依赖软件包,三台机器同步安装。

将安装包otp_src_18.3.tar上传到三台服务器的data目录下解压并更改文件名为erlang。

|-----------------------------------------------------|
| tar -xvf otp_src_18.3.tar.gz mv otp_src_18.3 erlang |

安装erlang需要的依赖库,包括gcc,kernel-devel,ncurses-devel,openssl-devel,unixODBC-devel。

|-----------------------------------------------------------------------------------------|
| yum -y install make gccgcc-c++ kernel-devel m4 ncurses-developenssl-develunixODBC-devel |

2、进入解压后的源码目录,编译安装erlang。

|-------------------------------------------------------------------------------------|
| cd /data/erlang ./configure --prefix=/data/erlang --without-javac make make install |

3、安装rabbitMQ

3.1将rabbitMQ安装包上传到三台服务器的/data下并解压。

|----------------------------------------------------|
| tar -xvf rabbitmq-server-generic-unix-3.6.6.tar.xz |

3.2编辑/etc/profile文件

|------------------|
| vim /etc/profile |

3.3修改文件内容

|------------------------------------------------------------------------------------------------------------------------------------------|
| export PATH=PATH:/data/erlang/bin export PATH=PATH:/data/rabbitmq_server-3.6.6 PATH=/data/rabbitmq_server-3.6.6/sbin:$PATH export PATH |

3.4保存该文件退出

3.5重新载入环境变量

|---------------------|
| source /etc/profile |

4、将rabbitmq_server-3.6.6/ebin目录下rabbit.app中loopback_users里的<<"guest">>删除,安装完rabbitMQ后,可以使用用户名密码都为guest的用户登录rabbitMQ的web监控页面。

5、启动rabbitMQ服务。

启动三台机器上的rabbitmq服务

|--------------------------------------------------------------------------------------|
| cd /data/rabbitmq_server-3.6.6/sbin/ nohup ./rabbitmq-server >log.log 2>err.log & |

6、安装rabbitMQ的web监控,三台机器同步安装。

|------------------------------------------------------------------------------------|
| cd /data/rabbitmq_server-3.6.6/sbin/ ./rabbitmq-plugins enable rabbitmq_management |

用户可以通过访问rabbitMQ所在机器的IP:15672,访问rabbitMQ的监控网页,使用用户名密码都为guest的用户登录。如果不能访问的话,需要将rabbitMQ所在服务器的防火墙关闭,关闭防火墙的语句:

|---------------------------------------------------------------------------------|
| sudosystemctl stop firewalld.service&&sudosystemctl disable firewalld.service |

关闭以后就能访问了。

7、创建软连接

ln -s /data/rabbitmq_server-3.6.6/sbin/rabbitmqctl rabbitmqctl

8、同步.erlang.cookee

.erlang.cookee在/root下,是一个隐藏文件。进入主节点10.10.10.1下,查看.erlang.cookee,修改从节点10.10.10.2和10.10.10.3的.erlang.cookee,与主节点保持一致即可。

9、重启rabbitmq服务

在从节点上执行

rabbitmqctl stop_app

rabbitmqctl join_cluster rabbit@txla100140

rabbitmqctl start_app

两台从节点全部加入集群后,登录http://10.10.10.1:15672/#/,看到下图,成功。

相关推荐
她说可以呀4 天前
RabbitMQ Publisher_Confirms(发布确认)
分布式·rabbitmq·ruby
淡然的煎蛋8 天前
开始使用RabbitMQ
分布式·rabbitmq·ruby
风吹夏回1 个月前
RabbitMQ 三种模式入门:HelloWorld、WorkQueue、PubSub
分布式·rabbitmq·ruby
cheems95271 个月前
[RabbitMQ高级特性] 消息确认机制:从 Ready / Unacked 到 basicAck、basicReject、basicNack 的底层拆解
分布式·rabbitmq·ruby
极创信息1 个月前
信创产品适配测试认证,域名和SSL是必须的吗?
java·开发语言·网络·python·网络协议·ruby·ssl
zzz_23681 个月前
【RabbitMQ】面试系列 · 第四期:性能调优与插件生态
面试·rabbitmq·ruby·java-rabbitmq
phltxy2 个月前
RabbitMQ集群搭——多机多节点与单机多节点
分布式·rabbitmq·ruby
qiuyepiaoling2 个月前
rabbitmq 基础
分布式·rabbitmq·ruby
phltxy2 个月前
RabbitMQ TTL与死信队列详解
分布式·rabbitmq·ruby
phltxy2 个月前
RabbitMQ 发送方确认与重试机制
分布式·rabbitmq·ruby