别再手动删了!Flink Checkpoint过期文件清理的正确姿势(含RocksDB增量场景避坑)
2026/6/4 23:18:08
yum -yinstallrabbitmq-server.aarch64
下面是我适配 RabbitMQ 3.7.23 的完整rabbitmq.config配置文件,(端口 8018 + 管理界面 15672),可以直接覆盖原文件即可,避免语法错误。
先把旧配置备份,防止出错后无法恢复:
cp/etc/rabbitmq/rabbitmq.config /etc/rabbitmq/rabbitmq.config.bak执行以下命令,直接生成正确的配置文件:
cat>/etc/rabbitmq/rabbitmq.config<<'EOF' [ {rabbit, [ %% 设置AMQP监听端口为8018(替代默认5672) {tcp_listeners, [8018]}, %% 允许所有IP访问(不限制本地) {loopback_users, []}, %% 数据持久化目录(和Docker里的./rabbitmq_data对应) {mnesia_dir, "/root/rabbitmq/rabbitmq_data"} ]}, {rabbitmq_management, [ %% 管理界面监听端口15672 {listener, [{port, 15672}]} ]} ]. EOF确保 RabbitMQ 进程能读取配置:
chownrabbitmq:rabbitmq /etc/rabbitmq/rabbitmq.configchmod644/etc/rabbitmq/rabbitmq.configmkdir-p /root/rabbitmq/rabbitmq_datachown-R rabbitmq:rabbitmq /root/rabbitmq/rabbitmq_data# 启用管理插件(解决15672端口不监听的问题)rabbitmq-pluginsenablerabbitmq_management# 重启RabbitMQ服务使配置生效systemctl restart rabbitmq-serversystemctl status rabbitmq-server看到active (running)说明服务启动正常。
ss -tlnp|grepbeam正常会输出:
LISTEN 0 128 0.0.0.0:8018 0.0.0.0:* users:(("beam.smp",pid=xxxx,fd=xx)) LISTEN 0 128 0.0.0.0:25672 0.0.0.0:* users:(("beam.smp",pid=xxxx,fd=xx))# 创建adm账号,密码xxxxxxxrabbitmqctl add_user adm xxxxxxx# 设置管理员权限rabbitmqctl set_user_tags adm administrator# 授权访问所有资源rabbitmqctl set_permissions -p / adm".*"".*"".*"# 删除默认guest账号(可选,提升安全)rabbitmqctl delete_user guestrabbitmq-pluginsenablerabbitmq_managementsystemctl restart rabbitmq-serverss -tlnp|grepbeam正常情况下,你会看到15672端口也被监听。我整理了一个一键启用插件+重启服务+验证端口的脚本,直接复制执行就能解决管理界面端口(15672)未监听的问题。
#!/bin/bash# 1. 启用 RabbitMQ 管理插件echo"=== 启用 RabbitMQ 管理插件 ==="rabbitmq-pluginsenablerabbitmq_management# 2. 重启 RabbitMQ 服务echo-e"\n=== 重启 RabbitMQ 服务 ==="systemctl restart rabbitmq-server# 3. 检查服务状态echo-e"\n=== 检查 RabbitMQ 服务状态 ==="systemctl status rabbitmq-server --no-pager# 4. 检查端口监听情况(重点看 8018 和 15672)echo-e"\n=== 检查端口监听情况 ==="ss -tlnp|grepbeam# 5. 验证管理插件是否加载成功echo-e"\n=== 验证管理插件状态 ==="rabbitmq-plugins list|greprabbitmq_managementss -tlnp | grep beam里是否出现8018和15672两个端口;rabbitmq-plugins list里rabbitmq_management前面是[E*](表示已启用并加载)。如果一切正常,你会看到类似以上截图的输出:
beam.smp是 Erlang 进程名,不是运行用户,真正的运行用户是rabbitmq;