use*_*808 3 hadoop hadoop-yarn
我是hadoop的新手,我也有同样的问题.
这就是我在hadoop中所理解的.
1)当在hadoop中写入任何文件时,它以块的形式存储在所有数据节点上(默认为64MB)
2)当我们运行MR作业时,将从该块创建拆分,并在每个数据节点上处理拆分.
3)从每个拆分记录读取器将用于在映射器侧生成键/值对.
问题:
1)一个数据节点一次可以处理多个拆分吗?如果数据节点容量更大怎么办?
我认为这是MR1的限制,而MR2 YARN我们有更好的资源利用率.
2)是否会在数据节点以串行方式读取拆分,还是可以并行处理以生成键/值对?[通过随机访问数据节点拆分中的磁盘位置]
3)map/reduce架构中的'slot'术语是什么?我正在阅读其中一篇博客,并表示YARN将在Datanode中提供更好的插槽利用率.
我先谈谈这what I have understood in hadoop部分内容.
存储在Hadoop文件系统上的文件不存储在所有数据节点上.是的,它被拆分为块(默认为64MB),但存储这些块的DataNode数取决于a.File Size b.Current Load on Data Nodes c.Replication Factor和 d.Physical Proximity.在决定哪些dataNode将存储文件块时,NameNode会考虑这些因素.
同样,每个数据节点都不能处理拆分.首先,DataNode仅负责管理数据存储,而不是执行作业/任务.TaskTracker是负责在各个节点上执行任务的从节点.其次,只有那些包含该特定Job所需数据的节点才会处理拆分,除非这些节点上的负载太高,在这种情况下,拆分中的数据被复制到另一个节点并在那里处理.
现在回答问题,
同样,dataNodes不负责处理作业/任务.我们通常将dataNode + taskTracker的组合称为节点,因为它们通常位于同一节点上,处理不同的职责(数据存储和运行任务).给定节点一次可以处理多个拆分.通常将单个拆分分配给单个Map任务.这转换为在单个节点上运行的多个Map任务,这是可能的.
来自输入文件的数据以串行方式读取.
节点的处理能力由数量定义Slots.如果一个节点有10个插槽,则意味着它可以并行处理10个任务(这些任务可能是Map/Reduce任务).集群管理员通常根据该节点的物理配置(例如内存,物理存储,处理器核心数等)来配置每个节点的插槽数.
| 归档时间: |
|
| 查看次数: |
2074 次 |
| 最近记录: |