RocketMQ 控制檯This date have't data

快速解決

指定容器啓動參數,增長時區及jvm參數-Duser.timezone='Asia/Shanghai",而且掛載本地時區文件,以下git

docker run --name mq -d -e "JAVA_OPTS=-Drocketmq.namesrv.addr=172.16.0.249:9876;172.16.8.248:9876 -Dcom.rocketmq.sendMessageWithVIPChannel=false -Duser.timezone='Asia/Shanghai'" -v /etc/localtime:/etc/localtime -p 9999:8080 -t styletang/rocketmq-console-ng

解決思路

問題

rocketmq console運行一段時間後出現 This date have't data 這樣的異常,異常信息以下:github

[2020-02-12 00:17:13.213\] ERROR op=global\_exception\_handler\_print\_error org.apache.rocketmq.console.exception.ServiceException: This date have't data!

異常意思大概是:該日期內沒有數據docker

環境描述

我是採用docker部署的,參考官方文檔https://github.com/apache/rocketmq-externals/tree/master/rocketmq-consoleapache

解決

MQ集羣是正常的,但出現This date have't data,懷疑是容器時間與服務器時間不一致。登陸到容器查看時間segmentfault

docker exec -it 容器id /bin/bash
# date  # 執行date命令查看時間

果真容器的時間與服務器的時間不一致。
解決方法以下,加入jvm 時區及系統時區文件掛載bash

docker run --name mq -d -e "JAVA_OPTS=-Drocketmq.namesrv.addr=172.16.0.249:9876;172.16.8.248:9876 -Dcom.rocketmq.sendMessageWithVIPChannel=false -Duser.timezone='Asia/Shanghai'" -v /etc/localtime:/etc/localtime -p 9999:8080 -t styletang/rocketmq-console-ng

若是本文對你有所幫助,能夠關注個人公衆號!
運維724服務器

相關文章
相關標籤/搜索