Rabbitmq集群

server/2024/11/19 19:26:04/

根据项目需要,三台机器搭建一个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/#/,看到下图,成功。


http://www.ppmy.cn/server/143274.html

相关文章

sql中in()方法查询参数过多处理小记

Springboot 多线程分批切割处理 大数据量List集合 &#xff0c;实用示例 Java使用多线程批次查询大量数据(Callable返回数据)方式 问题背景 业务要求对未完工的几十万甚至百万工单进行发短信提醒以及消息通知。所以每次查询需要将这海量数据查询出来。如果使用单线程&#xf…

mysql初始化失败Can‘t find error-message file‘/usr/share/mysql/errmsg.sys

errmsg.sys 是 MySQL 数据库的一个错误信息文件。它是一个二进制文件&#xff0c;存储了 MySQL 服务器可能返回的各种错误消息的定义。这个文件通常会在 MySQL 的安装目录中找到。 errmsg.sys 的作用 错误消息存储&#xff1a; MySQL 在运行过程中遇到错误时&#xff0c;会查找…

性能优化(二):ANR

介绍 ANR全称Application Not Responding&#xff0c;意思就是程序未响应。如果一个应用无法响应用户的输入&#xff0c;系统就会弹出一个ANR对话框&#xff0c;用户可以自行选择继续等待亦或者是停止当前程序。 Android系统会监控程序的响应状况&#xff0c;一旦出现下面情况…

工程化实战内功修炼测试题

什么是编译器&#xff1f; compiler也叫编译器&#xff0c;是一种电脑程序&#xff0c;它会将用某种编程语言写成的源代码&#xff0c;转换成另一种编程语言。 从维基百科的定义来看&#xff0c;编译器就是个将当前语言转为其他语言的过程&#xff0c;回到babel上&#xff0c;…

Ansible一键部署Kubernetes集群

一、环境准备 主机 ip地址 角色 k8s-master 192.168.252.141 master k8s-node1 192.168.252.142 node k8s-node2 192.168.252.143 node 二、实战 Ansible部署 主节点安装Ansible yum -y install epel-release yum -y install ansible ansible --version 开启记…

【Patroni官方文档】HA multi datacenter(多数据中心)

在多数据中心部署的PostgreSQL集群的高可用性基于复制技术,这种复制可以是同步的或异步的(即复制模式)。 在这两种情况下,明确以下概念都非常重要: 只有当PostgreSQL拥有并可以更新领导键时,它才能作为主节点或备用领导节点运行。 您应该运行奇数个etcd、ZooKeeper或C…

hadoop分布式文件系统常用命令

前言 搭建完hadoop后&#xff0c;会生成一个hdfs的分布式文件系统。HDFS是一个逻辑上的文件系统&#xff0c;它存储在Hadoop集群的多个节点上&#xff0c;而不是单个机器的本地磁盘上。 常用命令 # 创建目录&#xff0c;-p参数可以创建所有必需的父目录&#xff08;按照层级…

Spring Cloud Gateway(分发请求)

Spring Cloud Gateway 的过滤器和 Spring MVC 的拦截器的区别 过滤器用于整个微服务系统的网关层控制&#xff0c;拦截器则用于单个微服务内部的控制层请求处理。 1. 作用范围 Spring Cloud Gateway 过滤器&#xff1a;过滤器的作用范围是在网关层&#xff0c;主要在请求进入后…