作者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/cn.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