Taiwan Hadoop Forum

台灣 Hadoop 技術討論區
現在的時間是 2017-12-16, 15:18

所有顯示的時間為 UTC + 8 小時




發表新文章 回覆主題  [ 4 篇文章 ] 
發表人 內容
 文章主題 : HDFS 的空間和表示方式
文章發表於 : 2013-04-26, 01:43 
離線

註冊時間: 2013-04-26, 01:33
文章: 15
各位大大您好

目前國網中心 HDFS 上的狀態是這樣的:

Configured Capacity : 15.89 TB
DFS Used : 14.25 TB
Non DFS Used : 832.43 GB
DFS Remaining : 847.23 GB
DFS Used% : 89.67 %
DFS Remaining% : 5.21 %
Live Nodes : 12
Dead Nodes : 4
Decommissioning Nodes : 0
Number of Under-Replicated Blocks : 182222

DFS 上目前還有 847GB 可以使用,如果 data 的 duplicated 數是 3(預設),那也應該有 280GB 左右的使用空間。
不過今天我想上傳一個 20GB 左右的檔案上 HDFS 時,他卻出現
DataStreamer Exception: org.apache.hadoop.ipc.RemoteException: java.io.IOException: File blah blah could only be replicated to 0 nodes, instead of 1
的錯誤訊息。
我有稍微查了一下,這個情況有可能是 name node 檔案亂掉 or data node 空間不足。

如果是前者,不知道有沒有辦法解決(網路上提出的辦法是 reformat HDFS ><)
如果是後者,似乎是我對 HDFS 給的資訊理解錯誤,那有請各位大大救救我 ~

我覺得後者的機會比較大,因為我每次都是傳到 130MB 時出現錯誤 ....
謝謝


回頂端
 個人資料 E-mail  
 
 文章主題 : Re: HDFS 的空間和表示方式
文章發表於 : 2013-04-26, 03:56 
離線

註冊時間: 2009-11-09, 19:52
文章: 2895
不能說是觀念錯誤,只能說硬碟使用量呈現過高的狀態。

周一(4/22)才剛加了新硬碟,因機器老舊,無法每台都順利找到硬碟。
設定檔不易統一,礙於架構,因此還在想辦法怎麼把額外的空間加到 HDFS。
最近事情有點多,暫無法保證幾時會把空間擴充。

    ~$ dsh -a df /var/lib/hadoop
    檔案系統 1K-區段 已用 可用 已用% 掛載點
    /dev/sda1 1421501388 488655552 860637716 37% /var/lib/hadoop
    檔案系統 1K-區段 已用 可用 已用% 掛載點
    /dev/sda1 1421501388 1297579340 51713928 97% /var/lib/hadoop
    檔案系統 1K-區段 已用 可用 已用% 掛載點
    /dev/sda1 1421501388 1348934160 359108 100% /var/lib/hadoop
    檔案系統 1K-區段 已用 可用 已用% 掛載點
    /dev/sda1 1421501388 1349174076 119156 100% /var/lib/hadoop
    檔案系統 1K-區段 已用 可用 已用% 掛載點
    /dev/sda1 1421501388 1349166264 127004 100% /var/lib/hadoop
    檔案系統 1K-區段 已用 可用 已用% 掛載點
    /dev/sda1 1421501388 1349175328 117940 100% /var/lib/hadoop
    檔案系統 1K-區段 已用 可用 已用% 掛載點
    /dev/sda1 1421501388 1348771168 522064 100% /var/lib/hadoop
    檔案系統 1K-區段 已用 可用 已用% 掛載點
    /dev/sda1 1421501388 1349173260 119972 100% /var/lib/hadoop
    檔案系統 1K-區段 已用 可用 已用% 掛載點
    /dev/sda1 1421501388 1349168312 124920 100% /var/lib/hadoop
    檔案系統 1K-區段 已用 可用 已用% 掛載點
    /dev/sda1 1421501388 1349045172 248060 100% /var/lib/hadoop
    檔案系統 1K-區段 已用 可用 已用% 掛載點
    /dev/sda1 1421501388 523592596 825700636 39% /var/lib/hadoop
    檔案系統 1K-區段 已用 可用 已用% 掛載點
    /dev/sda1 1421501388 1349167776 125456 100% /var/lib/hadoop
    檔案系統 1K-區段 已用 可用 已用% 掛載點
    /dev/sda1 1421501388 1349028936 264296 100% /var/lib/hadoop


回頂端
 個人資料 E-mail  
 
 文章主題 : Re: HDFS 的空間和表示方式
文章發表於 : 2013-04-26, 15:55 
離線

註冊時間: 2013-04-26, 01:33
文章: 15
感謝 Jazz 大的回覆

所以 dsh -a df /var/lib/hadoop 的結果才是真正 HDFS 的可用空間吧?真有趣

我昨天後來成功上傳,所以好像又不是硬碟空間的問題。
我把 20GB file split to 1GB per file,但是我上傳時成功時失敗,不過後來幾個檔案就比較穩定了。

然後我有收集到另外兩種錯誤 XD
我列出簡短的部分,最後還是 could only be replicated to 0 nodes, instead of 1,但是原因好像不同。

<<<<<<<<<<<<<<<<<<<<<<<<<<
13/04/26 04:47:37 INFO hdfs.DFSClient: Exception in createBlockOutputStream java.net.ConnectException: Connection refused13/04/26 04: 47:37 INFO hdfs.DFSClient: Abandoning block blk_-7516416866308524624_16558992
13/04/26 04:47:43 INFO hdfs.DFSClient: Exception in createBlockOutputStream java.net.ConnectException: Connection refused
13/04/26 04:47:43 INFO hdfs.DFSClient: Abandoning block blk_-5845622216911120431_16558992
13/04/26 04:50:57 WARN hdfs.DFSClient: DataStreamer Exception: org.apache.hadoop.ipc.RemoteException: java.io.IOException: File /user/ h3201/Trad/xai could only be replicated to 0 nodes, instead of 1
>>>>>>>>>>>>>>>>>>>>>>>>>>

<<<<<<<<<<<<<<<<<<<<<<<<<<
13/04/26 05:47:28 WARN hdfs.DFSClient: DFSOutputStream ResponseProcessor exception for block blk_8658228085177906170_16559001java.net.SocketTimeoutException: 66000 millis timeout while waiting for channel to be ready for read. ch : java.nio.channels.SocketChannel[connected local=/192.168.1.254:54863 remote=/192.168.1.1:50010]
at org.apache.hadoop.net.SocketIOWithTimeout.doIO(SocketIOWithTimeout.java:164)
at org.apache.hadoop.net.SocketInputStream.read(SocketInputStream.java:155)
at org.apache.hadoop.net.SocketInputStream.read(SocketInputStream.java:128)
at java.io.DataInputStream.readFully(DataInputStream.java:178)
at java.io.DataInputStream.readLong(DataInputStream.java:399)
at org.apache.hadoop.hdfs.protocol.DataTransferProtocol$PipelineAck.readFields(DataTransferProtocol.java:119)
at org.apache.hadoop.hdfs.DFSClient$DFSOutputStream$ResponseProcessor.run(DFSClient.java:2410)

13/04/26 05:48:03 WARN hdfs.DFSClient: Error Recovery for block blk_8658228085177906170_16559001 bad datanode[0] 192.168.1.1:50010
13/04/26 05:48:03 WARN hdfs.DFSClient: Error Recovery for block blk_8658228085177906170_16559001 in pipeline 192.168.1.1:50010, 192. 168.1.17:50010: bad datanode 192.168.1.1:50010
>>>>>>>>>>>>>>>>>>>>>>>>>>

所以似乎是有 datanode 壞掉了 >< 不純只是硬碟空間的問題。

謝謝


回頂端
 個人資料 E-mail  
 
 文章主題 : Re: HDFS 的空間和表示方式
文章發表於 : 2013-04-26, 16:37 
離線

註冊時間: 2009-11-09, 19:52
文章: 2895
嗯,因為 192.168.1.1 的 DataNode 硬碟故障了,
先前都會把這台的 DataNode 關閉,也許剛好重開機沒關到吧。

- Jazz


回頂端
 個人資料 E-mail  
 
顯示文章 :  排序  
發表新文章 回覆主題  [ 4 篇文章 ] 

所有顯示的時間為 UTC + 8 小時


誰在線上

正在瀏覽這個版面的使用者:沒有註冊會員 和 1 位訪客


不能 在這個版面發表主題
不能 在這個版面回覆主題
不能 在這個版面編輯您的文章
不能 在這個版面刪除您的文章
不能 在這個版面上傳附加檔案

搜尋:
前往 :  
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
正體中文語系由 竹貓星球 維護製作