2012年4月18日 星期三

Safe mode will be turned off automatically

昨天幫學弟架完他們要用的Hadoop(hadoop1)後發現今天在開自己的Hadoop(hadoop)時,一直沒辦法偵測到第三個datanode, 且jobtracker偵測到的tasktracker數為0也無法動作, 去看了一下jobtracker的log檔發現一直出現下列訊息:
 ...
org.apache.hadoop.ipc.RemoteException: org.apache.hadoop.hdfs.server.namenode.SafeModeException: Cannot delete /tmp/hadoop-hadoop/mapred/system. Name node is in safe mode.
The ratio of reported blocks 0.6726 has not reached the threshold 0.9990. Safe mode will be turned off automatically.
...
表示一直沒辦法離開safe mode, 上網找了一下
意思是說在開啟Hadoop系統時, namenode會去check各個datanode的data block,
若datablock遺失的比率超過 1-0.999 時, 他就會一直處於safemode.

讓系統離開safe mode有兩種方式:
1.
    可以用
                         hadoop dfsadmin -safemode leave
    來離開 safe mod
2.
    或調低遺失比率的threshold

使用1.後,  jobtracker也偵測到兩個tasktracker但就是偵測不到第三個,
後來直接去第三個tracker上面紀錄的 tasktracker log,
發現他說他沒辦法辨識我namenode的host name!

這才想起來, 昨天在幫他們架時有修改到 /etc/hosts,
忘記再把我自己的namenode的 host name及IP加進去,
導致這個tasktracker在執行時, 無法辨識namenode是誰,
加進去後就解決了.... 腦殘

沒有留言:

張貼留言