hadoop 中文件是怎么存储的
假如集群中有2个数据节点,那我存储文件的时候需要给这个文件确定明确的存储路径吗?我该怎么知道我存储的文件是存放在哪个节点上?新手,求帮忙,先谢过了...
假如集群中有2个数据节点,那我存储文件的时候需要给这个文件确定明确的存储路径吗?我该怎么知道我存储的文件是存放在哪个节点上?新手 ,求帮忙,先谢过了
展开
2个回答
展开全部
追问
那假如数据节点1有500G的空间,数据节点2有300G的空间,那我就可以往HDFS里存800G的数据,是吗?我们是不是就不用担心一下存入600G数据的时候,会出现一个数据节点不够存的问题?
追答
这要看你设置的参数dfs.replication(文件的副本系数,就是一个文件存储多少份相同的备份。默认是3)是多少。
如果是1,理论上就可以存储800G的内容。不过这样,数据就不够安全了。
当然,如果是自己学习的话配置成1也无所谓。生产系统是不可以这样配置的。
该参数的配置:
1、conf目录中的hdfs-site.xml文件中,如下配置。这个是默认的配置值。如果没有特殊指定,都是用这个文件中的配置值。
dfs.replication
3
2、也可以在运行时指定。如hadoop -fs -D dfs.replication=1 -put ****.txt ./
3、编程时,是用Configuration类对象的set方法。如conf.set("dfs.replication","1");或conf.setInt("dfs.replication",1);
2011-12-04
展开全部
不需掘帆要知道,由namenode结点去帮你存储文件,我们只需要操作逻辑文件,建立一个文件,然后上传文件,然后编写mapreduecer程序,利用参数bin/hadoop jar World.jar Word input output
注意input输入文件的目录应该写清楚,不然回抛出衫散冲异常阿,建议你看看或歼hadoop的doc和hadoop权威指南。
注意input输入文件的目录应该写清楚,不然回抛出衫散冲异常阿,建议你看看或歼hadoop的doc和hadoop权威指南。
追问
那我是不是可以把这些数据节点理解成一个共享的存储环境,假如有一个很大的数据,我们通过编写mapreduecer程序实现存储,输入的路径是数据在本机上存储的路径,输出的路径就是名称节点内的虚拟路径,数据节点的路径相当于映射到名称节点上了。
是这样理解的吗?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询