Centos7,tar包方式部署rabbitmq-3.7.6

1. 环境准备

安装编译工具和依赖包

yum -y install make gcc gcc-c++ glibc-devel m4 perl openssl openssl-devel ncurses-devel ncurses-devel xz xmlto perl 

2. Erlang环境搭建

版本对应:https://www.rabbitmq.com/docs/which-erlang

  1. 解压到指定目录
tar -xvzf otp_src_20.3.tar.gz -C /opt/module/Erlang
  1. 拷贝到指定文件夹
cp -r /opt/module/Erlang/otp_src_20.3/ /opt/module/erlang-20.3
  1. 安装
    进入解压目录,并指定安装的文件夹,然后进行安装
cd /opt/module/otp_src_20.3 ./configure --prefix=/opt/module/erlang-20.3
make install
  1. 配置环境变量
echo 'export PATH=$PATH:/opt/module/erlang-20.3/bin' >> /etc/profile
source /etc/profile
  1. 测试
erl

在这里插入图片描述

3. RabbitMQ部署

  1. 解压到指定目录
xz -d rabbitmq-server-generic-unix-3.7.6.tar.xz
tar -xvf rabbitmq-server-generic-unix-3.7.6.tar -C /opt/module/rabbitmq-3.7.6
  1. 拷贝到指定文件夹
cp -r /opt/module/rabbitmq-3.7.6/rabbitmq_server-3.7.6/ /opt/module/
  1. 配置环境变量
echo 'export PATH=$PATH:/opt/module/rabbitmq_server-3.7.6/sbin' >> /etc/profile
source /etc/profile
  1. 开启web可视化管理插件
rabbitmq-plugins enable rabbitmq_management
  1. 后台启动
rabbitmq-server -detached
  1. 访问管理界面 http://IP:15672/#/

默认用户名和密码:guest / guest
在这里插入图片描述
7. 添加管理员账号并赋予全部权限

rabbitmqctl add_user admin admin666*
rabbitmqctl set_user_tags admin administrator
rabbitmqctl set_permissions -p / admin ".*" ".*" ".*"
  1. 关闭
rabbitmqctl stop
CentOS 7 上使用 `docker-compose` 部署 RabbitMQ 集群,可以通过定义多个服务节点并配置它们共享相同的 Erlang Cookie 来实现。以下是详细的部署步骤和注意事项: ### 1. 准备工作 确保系统已安装 Docker 和 Docker Compose: ```bash # 安装 Docker sudo yum install -y docker # 启动 Docker 服务并设置开机自启 sudo systemctl start docker sudo systemctl enable docker # 安装 Docker Compose sudo curl -L "https://github.com/docker/compose/releases/download/v2.23.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose sudo chmod +x /usr/local/bin/docker-compose ``` ### 2. 创建目录结构 创建一个用于存放 RabbitMQ 数据和配置的目录结构: ```bash mkdir -p /docker/rabbitmq-cluster/{node1,node2,node3} cd /docker/rabbitmq-cluster ``` ### 3. 编写 `docker-compose.yml` 文件 以下是一个典型的 `docker-compose.yml` 配置示例,用于部署三节点 RabbitMQ 集群: ```yaml version: &#39;3&#39; services: rabbitmq1: image: rabbitmq:3.12-management-alpine container_name: rabbitmq1 hostname: rabbitmq1 environment: - RABBITMQ_DEFAULT_USER=admin - RABBITMQ_DEFAULT_PASS=123456 - RABBITMQ_ERLANG_COOKIE=my-secret-cookie ports: - "15672:15672" - "5672:5672" volumes: - ./node1/data:/var/lib/rabbitmq - ./node1/.erlang.cookie:/root/.erlang.cookie restart: always rabbitmq2: image: rabbitmq:3.12-management-alpine container_name: rabbitmq2 hostname: rabbitmq2 environment: - RABBITMQ_DEFAULT_USER=admin - RABBITMQ_DEFAULT_PASS=123456 - RABBITMQ_ERLANG_COOKIE=my-secret-cookie ports: - "15673:15672" - "5673:5672" volumes: - ./node2/data:/var/lib/rabbitmq - ./node2/.erlang.cookie:/root/.erlang.cookie restart: always depends_on: - rabbitmq1 rabbitmq3: image: rabbitmq:3.12-management-alpine container_name: rabbitmq3 hostname: rabbitmq3 environment: - RABBITMQ_DEFAULT_USER=admin - RABBITMQ_DEFAULT_PASS=123456 - RABBITMQ_ERLANG_COOKIE=my-secret-cookie ports: - "15674:15672" - "5674:5672" volumes: - ./node3/data:/var/lib/rabbitmq - ./node3/.erlang.cookie:/root/.erlang.cookie restart: always depends_on: - rabbitmq1 ``` ### 4. 启动集群 执行以下命令启动容器并构建集群: ```bash # 构建并启动容器 docker-compose up -d # 进入第二个节点并加入集群 docker exec -it rabbitmq2 bash rabbitmqctl stop_app rabbitmqctl join_cluster rabbit@rabbitmq1 rabbitmqctl start_app exit # 进入第三个节点并加入集群 docker exec -it rabbitmq3 bash rabbitmqctl stop_app rabbitmqctl join_cluster rabbit@rabbitmq1 rabbitmqctl start_app exit ``` ### 5. 验证集群状态 访问任意节点的管理界面(如 http://<host-ip>:15672),登录后查看集群节点状态。 ### 注意事项 - **Erlang Cookie**:所有节点必须使用相同的 Erlang Cookie,否则无法加入集群[^3]。 - **版本一致性**:确保所有节点使用的 RabbitMQ 镜像版本一致,避免因版本差异导致兼容性问题[^3]。 - **持久化数据**:通过 `volumes` 挂载宿主机目录以实现数据持久化[^4]。 - **网络配置**:如果节点分布在不同主机上,需确保各节点之间可以通过主机名或 IP 地址通信。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Lt0_

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值