首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >异构Hadoop集群HDFS中的数据放置与分布

异构Hadoop集群HDFS中的数据放置与分布
EN

Stack Overflow用户
提问于 2015-10-12 14:44:52
回答 2查看 262关注 0票数 0

我已经安装了5个异构节点的Apache Hadoop 2.x,其中一个节点纯粹用于NameNode。

我使用下面的命令将输入文件放入HDFS中。

代码语言:javascript
运行
复制
$ hdfs dfs -put /home/hduser/myspace/data /user/hduser/inputfile

HDFS在三个DataNodes (DN)上复制这个输入文件,这意味着第四个DataNode没有输入块。如果我使用8个映射器(通过使用NLineInputFormat()方法设置拆分大小),那么这8个映射器是否会分配给所有4个DNs。我觉得应该是。在这种情况下,来自其他DNs的数据块将移动到第4个DN,由分配给它的映射器计算,这将增加整个执行时间。

我的问题是:

  1. 我们能否设法在每个DNs上放置数据块,这样就不需要在特定DN上移动映射器的数据。它能通过hdfs的"put“命令来完成吗?
  2. 另外,对于异构集群,我们可以根据节点的计算能力将不同大小的数据放在不同的DNs上吗?
EN

回答 2

Stack Overflow用户

发布于 2015-10-12 15:58:39

我们不能设法将数据块放在每个提到的DN.You复制文件到3个DNs上。只有当您的文件大小小于块大小时,才是正确的。HDFS通过将文件划分为多个块来复制数据。因此,文件数据(块)分布在所有4个DNs中的可能性更大。

票数 0
EN

Stack Overflow用户

发布于 2015-10-14 13:27:17

块放置完全依赖于hadoop,它将在内部管理块放置,您只能通过

dfs.replication.factor

或大小

dfs.block.size

来完成你想要的。

如果要检查块位置,可以打开HDFS的Web,如下所示

编号:50070

然后浏览到这里的文件,它将显示块在所有节点中的位置。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33083990

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档