指定容器啓動參數,增長時區及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
若是本文對你有所幫助,能夠關注個人公衆號!
服務器