Hadoop多节点集群

时间:2015-06-27 09:26:10

标签: hadoop hive yarn

我是Hadoop的新手。如果我问废话并帮我解决这个问题,请纠正我:)。

我安装并配置了一个双节点hadoop集群(yarn)。

  • 主节点:2TB HDD,4GB RAM
  • 从节点:500GB HDD,4GB RAM

的Datanode: 仅主节点(不保留从节点中的复制数据)

地图/减少: 主节点&从节点。

在10TB数据中,我将2TB上传到主节点(数据节点)。我只使用从节点进行Map / Reduce(使用100%的从节点CPU来运行查询)。

我的问题:

  1. 如果我将新的2TB硬盘添加到主节点并且我想将2TB更多上传到主节点,我如何同时使用HDD(旧硬盘中的数据和主硬盘中的新硬盘)?有没有办法在hdfs-site.xml中提供多个硬盘路径?

  2. 我是否需要在从节点中添加4TB硬盘(主机中的所有数据)才能使用100%的从机CPU?或者奴隶可以从主数据库访问数据并运行Map / Reduce作业吗?

  3. 如果我将4TB添加到slave并将数据上传到hadoop。是否会在master(重复)中进行任何复制?我可以访问从站的主硬盘和主硬盘的主硬盘中的所有数据吗?如果我这样做,查询是否使用两个节点的100%CPU?

  4. 总的来说,如果我有一个10TB的数据。配置Hadoop双节点集群的正确方法是什么?我应该使用什么规范(对于master和datanode)来快速运行Hive查询?

  5. 我卡住了。我真的需要你的建议和帮助。

    提前感谢。

1 个答案:

答案 0 :(得分:1)

请在下面找到答案:

  1. 在hdfs-site.xml中提供以逗号分隔的目录列表。来源https://www.safaribooksonline.com/library/view/hadoop-mapreduce-cookbook/9781849517287/ch02s05.html
  2. 否。你不需要在slave上添加硬盘以使用100%CPU。在当前配置下,在slave上运行的节点管理器将从master(在网络上)上运行的数据节点读取数据。这在数据局部性方面效率不高,但它不会影响处理吞吐量。由于网络传输,它将增加额外的延迟。
  3. 否。复制因子(要存储的副本数)与数据节点数无关。可以使用属性dfs.replication更改hdfs-site.xml的默认复制因子。您也可以基于每个文件配置它。
  4. 您的群集中至少需要10GB的存储空间(所有数据节点合并,复制因子为1)。对于生产系统,我建议复制因子3(处理节点故障),即至少3个节点的10 * 3 = 30GB存储。由于10GB在Hadoop方面非常小,因此有3个节点,每个节点有2或4个核心处理器和4到8 GB内存。将此配置为 - node1:name node + data node + node manager,node2:resource manager + data node + node manager,node3:data node + node manager。