温馨提示×

RabbitMQ网络配置CentOS注意事项

小樊
33
2025-11-25 20:27:07
栏目: 智能运维

CentOS 上部署与运维 RabbitMQ 的网络配置要点

一 端口与防火墙

  • 常用端口与用途
    • 4369/TCP:Erlang Port Mapper Daemon(epmd),节点发现与握手
    • 5672/TCP:AMQP 0-9-1 客户端连接
    • 15672/TCP:HTTP 管理插件(rabbitmq_management)
    • 25672/TCP:集群节点间通信(Erlang 分布式端口,官方文档以 25672 为主;个别环境会看到 4396/TCP 也被使用,建议一并放行)
  • firewalld 放行示例(CentOS 7/8)
    • 启动与开机自启:systemctl start firewalld && systemctl enable firewalld
    • 放行端口:firewall-cmd --permanent --add-port={4369,5672,15672,25672}/tcp
    • 可选放行 4396:firewall-cmd --permanent --add-port=4396/tcp
    • 使配置生效:firewall-cmd --reload
    • 验证:firewall-cmd --list-all
  • 如需改用 iptables(不建议与 firewalld 并存)
    • 停止并屏蔽 firewalld:systemctl stop firewalld && systemctl mask firewalld
    • 安装并启用:yum install -y iptables-services && systemctl enable iptables && systemctl restart iptables
    • 保存规则:service iptables save
  • 云环境补充
    • 除系统防火墙外,还需在云厂商控制台开放对应 安全组/NACL 端口(如 4369/5672/15672/25672
    • 本地测试连通性可用:telnet <IP> 4369ss -tln | grep 15672

二 主机名解析与节点互联

  • 固定并统一 hostname(示例:hostnamectl set-hostname rabbit1
  • /etc/hosts 为所有节点写入解析(示例:192.168.10.236 rabbit1),确保节点间可用短名互相解析
  • 集群建议基于短名通信,避免仅依赖 IP,减少网络变更带来的影响
  • 排查要点
    • 互相 ping <hostname> 正常
    • 管理端口连通:telnet <IP> 15672
    • 节点发现端口连通:telnet <IP> 4369
    • 集群通信端口连通:ss -tnl | grep 25672telnet <IP> 25672

三 远程访问与认证

  • 管理界面
    • 启用插件:rabbitmq-plugins enable rabbitmq_management
    • 访问地址:http://<服务器IP>:15672
  • 默认账户限制
    • guest/guest 默认仅允许 localhost 登录,远程需新建管理员账户
    • 示例:
      • 新建用户:rabbitmqctl add_user admin StrongPass!
      • 设管理员标签:rabbitmqctl set_user_tags admin administrator
      • 赋权:`rabbitmqctl set_permissions -p “/” admin “." ".” “.*”

四 集群网络关键点

  • Erlang Cookie 一致
    • 文件:/var/lib/rabbitmq/.erlang.cookie
    • 建议从主节点拷贝至其他节点,保持内容完全一致,权限 400
  • 加入集群流程(在从节点执行)
    • rabbitmqctl stop_app
    • rabbitmqctl join_cluster rabbit@<目标节点短名>
    • rabbitmqctl start_app
  • 常见报错 nodedown 的排查顺序
    • 服务是否运行:systemctl status rabbitmq-server
    • 主机名解析是否一致(/etc/hosts)
    • 必要端口是否放行(4369/5672/15672/25672
    • Cookie 是否一致(内容与权限)
    • 必要时临时关闭防火墙验证是否为阻断点,再改回精细化放行

五 快速验证清单

  • 监听端口:ss -tln | egrep '5672|15672|4369|25672'
  • 管理界面:浏览器访问 http://<IP>:15672,用新建管理员登录
  • 节点互联:telnet <IP> 4369telnet <IP> 25672 可连通
  • 集群状态:rabbitmqctl cluster_status,在 Overview 中查看节点列表与镜像策略

0