首先非常感谢你的解答!还有一些需要向你请教:
1、你把dfs.replication设在core-site.xml,被后面加载的hdfs-default.xml的dfs.replication给覆盖了,所以一直是3.
非常感谢你,之前我把dfs.replication设在core-site.xml,不可以,按照你的建议,删除core-site.xml里面的dfs.replication,把dfs.replication加在了hdfs-default.xml里面,设置的副本个数就对了!非常感谢!
2、单client时跟你读普通文件系统差不多的了,但是多client时,就不一样了,hdfs支持并发读取,而且副本有均匀分布在集群内,可加速读取。
也就是说单client的读取,不会多个不同的block一起读取(比如说1,2,3号等),而是要一个一个的读取,速度跟我读普通文件系统差不多的。多个client的时候读取一个相同的文件时,可以多个相同block一起读取(比如说有3个1号,3个2号,3个3号),这样的话,速度就比较快吗?
3、
hdfs写入的时候,假设该文件的副本系数设置为3,客户端会从Namenode获取一个Datanode列表用于存放副本,然后向第一个Datanode传输数据,第一个Datanode一小部分一小部分(4 KB)地接收数据,将每一部分写入本地仓库,并同时传输该部分到列表中第二个Datanode节点。第二个Datanode也是这样,一小部分一小部分地接收数据,写入本地仓库,并同时传给第三个Datanode。最后,第三个Datanode接收数据并存储在本地。因此,Datanode能流水线式地从前一个节点接收数据,并在同时转发给下一个节点,数据以流水线的方式从前一个Datanode复制到下一个。等这个block传输完以后,才能传输下一个block。这样的话,写入效率大大降低,虽然保证了数据的可靠性,但是为什么不多个block一起传输呢吗?
4、
hdfs支持查询了
我觉得查询过程和读取过程差不多,比如写一个代码,实现在一个文件里面搜索出需要的关键字。这个是不是和读取差不多吧吗?
回复 12# dapopo
1、系统属性放那个配置文件要注意,否则有被覆盖的可能,该放哪请看对应的default文件。
2、block有分布在多个节点上,多client时不用大家都挤在一个节点上读数据,容易有io瓶颈,可以分流到其它节点,跟服务器集群一个样的。
3、这个跟用水管送水差不多,你在源头通过一根管子灌水和通过多根管子灌水过去,都是一样的。因为传输管道大小定了,而源头一个管就可以灌满了,放多个管来灌何必呢,整得麻烦。
4、的确差不多,但是做起来就麻烦了,主要是效率,你要想到hdfs里放的动不动就几百万个文件。很久没关注更新了,hdfs有支持文件查询了么吗?文件名就好,不需要文件内容。
个人意见,仅供参考。 可以确定你的配置文件修改没起效 回复 14# zoutingming
对!现在已经确定是配置文件没有生效的了。 回复 13# spork
谢谢你的答复!还有一些需要向你请教:
1、我用的hadoop-0.20.2,conf目录下没有相应的default文件,因此我就不确定相应的配置应该在哪个文件中配置,请问我应该如何找到在哪个文件配置相应的信息呢吗?
2、多client时并行读取文件的优势听你的解释看来是显而易见的,但是我还没有进行相关测试,尽量在以后的测试中加入该项的测试。
3、既然这个跟用水管送水差不多,那么放多个管来并行灌水,效率岂不是很高,为什么不采用并行方式呢吗?原因是什么吗?
4、hdfs是否有支持文件查询,这个我也不清楚,我是想自己写一个代码,在文本中进行文字匹配的查询,不知道是否可行吗?
谢谢! 超级顶一个~~~
终于清晰了~~~~ dfs.replication数量的备份数不一定实时生效,需要一些时间。
你的节点较少,NameNode有可能根据节点数来调 ...
spork 发表于 2010-4-24 17:23
http://www.hadoopor.com/images/common/back.gif
hadoop在哪里定义rack呢吗? 学习啦,谢谢大家了。 我想问一下大侠们,我有两个 集群里,先是只有一个伪分布式,数据都放一台机器上,dfs.replication =1。后来,加了一台机器,两个结点,dfs.replication =2,dfs.data.dir =xxx/fs/data; 经过好一段时间,块数据都仍然集中在老机器-master(950M),新机器只有大约35M的块数据。
之后,我更改配置,dfs.data.dir xxx/fs/data, xxx/fs/data- backup并手动fs-setrep -R -w 2 /xx, 发现块数据仍然在master 中,不同的是data- backup, 而且是 本地 data的两陪(1.8G),而新的子结点则有很少的数据,请问是什么啊 吗?
多谢大侠们指教!
页:
1
[2]