作者jerrychen26 (水澤)
看板java
標題[問題] 使用JSP存取Hadoop的HDFS
時間Sat Jun 4 17:43:20 2016
大家好,小弟是大學生,目前正在做專題
需要用到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://webptt.com/m.aspx?n=bbs/java/M.1465033403.A.B0F.html
1F:→ qrtt1: 你要先讓使用者透過檔案上傳,傳到 server 端再上傳到 hdfs 06/05 22:48
2F:→ jerrychen26: 喔喔,原來如此,感謝大大 06/06 07:41
3F:→ realmeat: 同一個cluster下的hdfs 應該可以互通? 你的問題是? 06/06 17:37
4F:→ realmeat: 如果不在同一個 cluster下你可以考慮 web api 06/06 17:40
雖然可以互通,但是src好像只會讀master的檔案,slave的沒辦法上傳
我是希望讓外面的人也可以上傳,有點像是雲端硬碟
謝謝大大回覆,我會研究這個api看看
※ 編輯: jerrychen26 (60.244.175.11), 06/07/2016 00:15:07
7F:→ qrtt1: 建 path 拿 OutputStream 直接塞資料囉 06/07 14:13
8F:→ realmeat: master跟slaver hadoop有這東西? datanode跟namenode 06/07 18:02
9F:→ 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