1. 程式人生 > >修復hadoop叢集時間與系統時間不一致問題

修復hadoop叢集時間與系統時間不一致問題

時間不一致可能會報 region is not online錯誤。
重啟了hadoop叢集主機之後,hadoop叢集log中的時間一直不是系統時間,不知是裝系統時的遺留問題(安裝系統時區沒有更改過)還是怎麼。通過瀏覽http://hadoop:60010/jmx可看到user.timezone(時區)的value值是/America/New_York,並不是我們當前系統的時區。目前我的解決方法是新增hadoop、yarn和hbase的env的配置檔案內容,分別如下:

# cat hadoop-env.sh
.........
export HADOOP_OPTS="$HADOOP_OPTS -Duser.timezone=GMT+08"
.........
# cat yarn-env.sh
......... 
YARN_OPTS="$YARN_OPTS -Duser.timezone=GMT+08"
.........
# cat hbase-env.sh
.........
export TZ="Asia/Shanghai"
.........

修改完之後,將配置檔案傳送至各節點,重啟相關服務(zookeeper最好也重啟下),可發現hadoop列印log時間指向了當前時區,並能正常寫入、讀取資料。

注:Asia/Shanghai和GMT+08是同一時區。