2015-06-27 223 views
0

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

我安装并配置了一个两节点hadoop集群(纱线)。

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

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

映射/减少: 主节点&从节点。

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

我的问题:

  1. 如果我添加一个新的2TB硬盘到主节点,我希望更多的上传2TB到主节点,我该如何使用这两种硬盘(旧硬盘和新的硬盘数据在主)?有没有办法在hdfs-site.xml中提供多个硬盘路径?

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

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

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

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

感谢提前一吨。

回答

1

请在下面找到答案:

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