看板 java 關於我們 聯絡資訊
大家好,小弟是大學生,目前正在做專題 需要用到Hdfs存取的相關功能 上網查了一下 研究了Hadoop裡面提供FileSystem的API FileSystem fs=FileSystem.get(conf); Path src=new Path(source); Path dst=new Path(destination); fs.copyFromLocalFile(src,dst); fs.close(); 程式碼大概是這樣,conf也有設定好 我將以上寫成JSP,也成功上傳檔案 創資料夾,刪除檔案也都沒問題 但是!!! 只限於本機上傳,我在想因為src是讀本機的位置 如果要從別台電腦上傳檔案是沒辦法的 我想請教各位大大,有沒有辦法解決這個問題呢? 不管是JAVA還是JSP的解決方法都可以 之前有想利用tftp傳到本機再上傳,但是專題老師說太複雜了 所以就沒這樣做了 謝謝大家~ -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 60.244.175.11 ※ 文章網址: https://www.ptt.cc/bbs/java/M.1465033403.A.B0F.html
qrtt1: 你要先讓使用者透過檔案上傳,傳到 server 端再上傳到 hdfs 06/05 22:48
jerrychen26: 喔喔,原來如此,感謝大大 06/06 07:41
realmeat: 同一個cluster下的hdfs 應該可以互通? 你的問題是? 06/06 17:37
realmeat: 如果不在同一個 cluster下你可以考慮 web api 06/06 17:40
雖然可以互通,但是src好像只會讀master的檔案,slave的沒辦法上傳 我是希望讓外面的人也可以上傳,有點像是雲端硬碟 謝謝大大回覆,我會研究這個api看看 ※ 編輯: jerrychen26 (60.244.175.11), 06/07/2016 00:15:07
qrtt1: 內網那更容易啊 http://bit.ly/1X8gl4E 06/07 14:12
qrtt1: 建 path 拿 OutputStream 直接塞資料囉 06/07 14:13
realmeat: master跟slaver hadoop有這東西? datanode跟namenode 06/07 18:02
realmeat: 先了解一下, 我突然覺得架構上可能有問題 06/07 18:02
我們這邊都稱namenode是master,datanode是slave 在fs.default.name不是很多人都用master:9000嗎? 目前我是解決這個問題了,我使用q大說的,利用commons.io等API先用jsp傳到server端 再用FileSystem.copyFromLocalFile將jsp傳上的檔案put到hdfs 謝謝兩位大大給的建議 ※ 編輯: jerrychen26 (60.244.175.11), 06/07/2016 23:10:49