2

我試圖通過向Dataproc集羣提交Spark作業來寫入HDFS目錄hdfs:///home/bryan/test_file/爲什麼Google Dataproc HDFS名稱節點處於安全模式?

我得到一個錯誤,名稱節點處於安全模式。我有a solution讓它脫離安全模式,但我擔心這可能會發生另一個原因。

爲什麼Dataproc集羣處於安全模式?

ERROR org.apache.spark.streaming.scheduler.JobScheduler: Error running job streaming job 1443726448000 ms.0 
org.apache.hadoop.ipc.RemoteException(org.apache.hadoop.hdfs.server.namenode.SafeModeException): Cannot create directory /home/bryan/test_file/_temporary/0. Name node is in safe mode. 
The reported blocks 125876 needs additional 3093 blocks to reach the threshold 0.9990 of total blocks 129098. 
The number of live datanodes 2 has reached the minimum number 0. Safe mode will be turned off automatically once the thresholds have been reached. 

回答

2

什麼安全模式是指

名稱節點是在安全模式,直到數據節點報告哪個塊是否在線。這樣做是爲了確保NameNode不會開始複製塊,即使存在(實際上)足夠(但未報告)的複製。

爲什麼發生這種情況

一般來說你描述這不應該與Dataproc集羣出現。在這種情況下,我懷疑集羣中的虛擬機沒有正確聯機或遇到問題(聯網,其他問題),因此集羣從未離開安全模式。壞消息是這意味着集羣處於不良狀態。由於Dataproc集羣很快啓動,我建議您刪除集羣並創建一個新集羣。好消息是,這些錯誤應該是非常罕見的。

相關問題