hadoop中在HDFS中创建一个input目录,然后hadoop fs -ls命令

一般默认出来的结果是/user/hadoop/input,但是我的结果是/user/root/input,这个问题直接导致后面不能把本地文件复制到input目录里,求高手... 一般默认出来的结果是/user/hadoop/input,但是我的结果是/user/root/input,这个问题直接导致后面不能把本地文件复制到input目录里,求高手解答,急。。。。。。。。。。。。 展开
 我来答
短学期
推荐于2017-11-24
知道答主
回答量:10
采纳率:100%
帮助的人:8.6万
展开全部
从fs -ls从列出来的文件看,这个文件夹/user/root/input是通过root用户创建的。说明你在从本地文件系统拷贝input目录到hdfs系统的时候,不是采用的hadoop用户,而是用root用户执行的拷贝命令,你可能忘记切换用户了,可以删除现在的input目录(采用root用户运行hadoop的删除命令,或者不删除也没关系),重新使用hadoop用户把input导入到hdfs系统中试试看。
另外,实际上应用的时候是需要关注hdfs中文件的目录结构的。你现在采用的是默认的方式,缺省会放/user/${user.name}目录下。
在把本地文件导入到hdfs的时候,是可以指定传到什么目录的,比如:
#创建input目录
sh bin/hadoop fs -mkdir /user/hadoop/input
#把myfile.txt导入到hdfs的input目录下
sh bin/hadoop fs –put /usr/hadoop/mydata/myfile.txt /user/hadoop/input
a604232568
2013-10-28 · TA获得超过152个赞
知道小有建树答主
回答量:221
采纳率:100%
帮助的人:64.9万
展开全部
你创建input目录的时候是不是也用了sudo命令?这样的话就是使用了root用户来创建了input,所以生成的是user/root/input,而不是用了hadoop这个用户创的目录,所以没有生成/user/hadoop/input。hadoop的指令都不需要用sudo来使用root权限啊,
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
节操瓶碎了
2013-10-22
知道答主
回答量:3
采纳率:0%
帮助的人:4275
展开全部
进入本机hadoop 文件夹下 执行
用 bin/hadoop fs -rmr /user/root
然后 bin/hadoop fs -mkdir /user/hadoop/input
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式