您好,登录后才能下订单哦!
密码登录
登录注册
点击 登录注册 即表示同意《亿速云用户服务条款》
# RabbitMQ基于CentOS7局域网集群搭建的方法
## 一、环境准备
### 1.1 硬件要求
- 至少2台CentOS7服务器(本文以3节点为例)
- 每台服务器建议配置:
- 2核CPU
- 4GB内存
- 50GB磁盘空间
- 所有节点需在同一局域网段(如192.168.1.0/24)
### 1.2 软件要求
- CentOS 7.6+(推荐最小化安装)
- Erlang 23.x+(RabbitMQ依赖环境)
- RabbitMQ 3.8.x+
- 关闭防火墙或开放相关端口:
```bash
systemctl stop firewalld
systemctl disable firewalld
# 所有节点执行(以node1为例)
hostnamectl set-hostname node1
# 编辑/etc/hosts文件
cat >> /etc/hosts <<EOF
192.168.1.101 node1
192.168.1.102 node2
192.168.1.103 node3
EOF
yum install -y ntpdate
ntpdate ntp.aliyun.com
yum install -y epel-release
yum install -y socat logrotate
# 添加Erlang解决方案仓库
curl -s https://packagecloud.io/install/repositories/rabbitmq/erlang/script.rpm.sh | sudo bash
# 安装Erlang
yum install -y erlang-23.3.4.11-1.el7.x86_64
# 添加RabbitMQ仓库
curl -s https://packagecloud.io/install/repositories/rabbitmq/rabbitmq-server/script.rpm.sh | sudo bash
# 安装RabbitMQ
yum install -y rabbitmq-server-3.8.16-1.el7.noarch
systemctl start rabbitmq-server
systemctl enable rabbitmq-server
rabbitmq-plugins enable rabbitmq_management
# 在node1上执行
scp /var/lib/rabbitmq/.erlang.cookie root@node2:/var/lib/rabbitmq/
scp /var/lib/rabbitmq/.erlang.cookie root@node3:/var/lib/rabbitmq/
# 所有节点修改权限
chmod 600 /var/lib/rabbitmq/.erlang.cookie
chown rabbitmq:rabbitmq /var/lib/rabbitmq/.erlang.cookie
systemctl stop rabbitmq-server
rabbitmq-server -detached
rabbitmqctl stop_app
rabbitmqctl join_cluster rabbit@node1
rabbitmqctl start_app
# 任意节点执行
rabbitmqctl cluster_status
# 预期输出示例:
# Cluster status of node rabbit@node1
# [{nodes,[{disc,[rabbit@node1,rabbit@node2,rabbit@node3]}]},
# {running_nodes,[rabbit@node3,rabbit@node2,rabbit@node1]}]
rabbitmqctl set_policy ha-all "^" '{"ha-mode":"all","ha-sync-mode":"automatic"}'
rabbitmqctl list_policies
journalctl -u rabbitmq-server -f
# 查看分区状态
rabbitmqctl cluster_status
# 恢复分区
rabbitmqctl forget_cluster_node rabbit@故障节点
命令 | 说明 |
---|---|
rabbitmqctl add_user admin 密码 |
添加管理用户 |
rabbitmqctl set_user_tags admin administrator |
设置管理员权限 |
rabbitmqctl list_queues |
查看队列列表 |
rabbitmqctl list_exchanges |
查看交换机列表 |
磁盘I/O优化:
echo 'vm.dirty_ratio = 20' >> /etc/sysctl.conf
echo 'vm.dirty_background_ratio = 10' >> /etc/sysctl.conf
sysctl -p
增加文件描述符限制:
echo 'ulimit -n 65536' >> /etc/profile
建议使用SSD存储
通过上述步骤,我们成功在CentOS7环境下搭建了RabbitMQ高可用集群。实际生产环境中建议: 1. 使用奇数个节点(3/5/7) 2. 定期备份元数据 3. 监控队列积压情况 4. 根据业务需求调整内存/磁盘告警阈值
”`
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。