rabbitmq 持久化不生效

74 阅读1分钟

1.1 问题原因:

  
  # 1 查看服务部署挂载的数据目录
  cd /home/files/rabbitmq/data/mnesia
  # 2 每次重启mq服务,数据文件名都会更新,导致读取最新的数据文件无法获取到之前持久的数据;
  # 3 需要解决办法就需要数据文件名固定不变,所以需要添加 hostname 配置;

1.1.1 问题所在就是动态文件名:

image.png

1.1.2 解决后固定的数据文件名:

image.png

1.2 解决问题:部署rabbitmq环境时需要添加配置: " hostname: rabbitmq-okyun "

  # compose.yaml
  name: okyun
  
  services:
    rabbitmq:
      container_name: rabbitmq
      hostname: rabbitmq-okyun  # 注意:固定主机名,用于生成稳定节点名,持久化数据必须设置!!!
      image: rabbitmq:3.12.14-management
      deploy:
        resources:
          limits:
            memory: 2G
            cpus: "1.5"
      ports:
        - "5672:5672"
        - "15672:15672"
      environment:
        - RABBITMQ_DEFAULT_VHOST:okyun
        - RABBITMQ_DEFAULT_USER=admin
        - RABBITMQ_DEFAULT_PASS=123456
      volumes:
        - rabbitmq_plugin:/plugins
        - ./rabbitmq/data:/var/lib/rabbitmq
        - ./rabbitmq/log:/var/log/rabbitmq
        - ./rabbitmq/config/rabbitmq.conf:/etc/rabbitmq/rabbitmq.conf
      restart: unless-stopped
      networks:
        - okyun
  
  volumes:
    rabbitmq_plugin:
      driver: local
  
  networks:
    okyun:
      driver: bridge