我讓我的學生使用bdutil
來創建Google Compute Engine集羣,其中包含持久磁盤和HDFS作爲默認文件系統。我們希望擁有永久磁盤,以便學生能夠在數週內完成項目。但是,在重新部署集羣之後,HDFS似乎不可用。在Google Cloud中維護持久HDFS
我的問題真的是「如何在羣集的重新部署中維護持久的HDFS文件系統?」
這是我曾嘗試
一切正常,在初始部署,創建永久磁盤。我創建一個目錄用命令
$ hadoop fs -mkdir /foo
$ hadoop fs –put foo.txt /foo/foo.txt
$ hadoop fs –cat /foo/foo.txt
foo
我然後刪除和redeply集羣與DELETE_ATTACHED_PDS_ON_DELETE=false
和CREATE_ATTACHED_PDS_ON_DEPLOY=false
保持跨越調動
永久磁盤當我ssh到重新部署的集羣中,我可以看到該文件我創建
$ hadoop fs –ls /foo
Found 1 items
-rw-r--r-- 3 mpcs supergroup 4 2014-10-01 13:16 /foo/foo.txt
但是,任何試圖訪問該文件的內容會失敗:
$ hadoop fs –cat /foo/foo.txt
cat: org.apache.hadoop.hdfs.server.namenode.SafeModeException: Zero blocklocations for /foo/foo.txt. Name node is in safe mode
手動關閉安全的代碼並不能幫助
$ hadoop dfsadmin -safemode leave
Safe mode is OFF
$ hadoop fs –cat /foo/foo.txt
14/10/01 13:31:20 INFO hdfs.DFSClient: No node available for: blk_2908405986797013125_1002 file=/foo/foo.txt
14/10/01 13:31:20 INFO hdfs.DFSClient: Could not obtain blk_2908405986797013125_1002 from any node: java.io.IOException: No live nodes contain current block. Will get new block locations from namenode and retry...
*etc*
關於如何創建一個HDFS存儲可以跨重新部署集羣將大大堅持任何建議表示讚賞
感謝,
Mike