Taiwan Hadoop Forum

台灣 Hadoop 技術討論區
現在的時間是 2022-08-12, 17:27

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




發表新文章 回覆主題  [ 3 篇文章 ] 
發表人 內容
 文章主題 : 有沒有人用java向掛載到本地的HDFS寫入數據的?
文章發表於 : 2013-04-19, 17:26 
離線

註冊時間: 2013-04-19, 17:14
文章: 1
我將其他機器搭建的HDFS掛載到本地(通過fuse和nfs都試過),然後用向掛載的目錄寫入文件,總是報錯。代碼如下
代碼:
package test;

import java.io.File;
import java.io.IOException;

public class Test {

    /**
     * @param args
     */
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        File f = new File("/mnt/hdfs/test");
        try {
            System.out.println(f.createNewFile());
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }

    }

}


代碼:
java.io.IOException: Unknown error 524
    at java.io.UnixFileSystem.createFileExclusively(Native Method)
    at java.io.File.createNewFile(File.java:883)
    at test.Test.main(Test.java:15)

其中"/mnt/hdfs/"為hdfs掛載目錄,有該目錄寫入權限
將"/mnt/hdfs/test"換成任意本地路徑則文件可創建成功。
環境:jdk:sun jdk 1.6.38
os:centos 6.4、ubuntu12.04 一樣的錯誤。

問一下大家有通過jdk向掛載到本地的HDFS寫入成功的嗎?
我在stackoverflow上提問了,但沒有解決,請大家幫忙,謝謝。
http://stackoverflow.com/questions/1608 ... unted-hdfs


回頂端
 個人資料 E-mail  
 
 文章主題 : Re: 有沒有人用java向掛載到本地的HDFS寫入數據的?
文章發表於 : 2013-04-20, 19:52 
離線

註冊時間: 2012-09-17, 23:06
文章: 47
wakingdreamer 寫:
我將其他機器搭建的HDFS掛載到本地(通過fuse和nfs都試過),然後用向掛載的目錄寫入文件,總是報錯。代碼如下
代碼:
package test;

import java.io.File;
import java.io.IOException;

public class Test {

    /**
     * @param args
     */
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        File f = new File("/mnt/hdfs/test");
        try {
            System.out.println(f.createNewFile());
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }

    }

}


代碼:
java.io.IOException: Unknown error 524
    at java.io.UnixFileSystem.createFileExclusively(Native Method)
    at java.io.File.createNewFile(File.java:883)
    at test.Test.main(Test.java:15)

其中"/mnt/hdfs/"為hdfs掛載目錄,有該目錄寫入權限
將"/mnt/hdfs/test"換成任意本地路徑則文件可創建成功。
環境:jdk:sun jdk 1.6.38
os:centos 6.4、ubuntu12.04 一樣的錯誤。

問一下大家有通過jdk向掛載到本地的HDFS寫入成功的嗎?
我在stackoverflow上提問了,但沒有解決,請大家幫忙,謝謝。
http://stackoverflow.com/questions/1608 ... unted-hdfs

您好:你可以參考版主http://trac.nchc.org.tw/cloud/wiki/NCHCCloudCourse100928_3_EXE
這篇文章,我想應該有符合您的需求,內容也寫的很詳細,您先參考若有疑問可再提出^^


回頂端
 個人資料 E-mail  
 
 文章主題 : Re: 有沒有人用java向掛載到本地的HDFS寫入數據的?
文章發表於 : 2013-04-22, 01:15 
離線

註冊時間: 2009-11-09, 19:52
文章: 2897
由於沒有試過,所以沒想過會遇到這種狀況。

我想多數人都會用上一則回覆的作法,因為既然用 Java 撰寫程式了,就直接呼叫 HDFS API。

至於原因,個人在猜測跟 FUSE 原理有關。
FUSE 只是一個抽象層,幫忙把一些 VFS 指令轉成該有的 HDFS 指令
但是 Java 的 File 類別會觸發什麼底層 OS 的指令,還真的沒想過...
個人覺得確實有可能會失敗,但主因應該是在 FUSE 實作上。

- Jazz


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

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


誰在線上

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


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

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