Hadoop 数据节点 - 先从一个磁盘开始,稍后再添加更多磁盘,或者先从尽可能多的磁盘开始,然后均匀填充它们

Hadoop 数据节点 - 先从一个磁盘开始,稍后再添加更多磁盘,或者先从尽可能多的磁盘开始,然后均匀填充它们

我对 Hadoop 集群中的 Datanode 磁盘设置有疑问。这两个选项哪个更好:

  1. 向 Datanode 添加一个(或几个)磁盘,并在开始填充后附加更多磁盘。

  2. 或者从一开始就使用尽可能多的磁盘并同时填充它们。

另外两个相关问题:最好使用尽可能大的驱动器,以便在有限数量的驱动器插槽中获得最大容量?

单个Datanode可以支持多少存储?(当然这取决于Datanode的硬件规格,但是仍然...有任何大致的限制吗?)

答案1

首先,主轴数量与 MapReduce 作业的性能直接相关(在一定程度上)。一般来说,您希望每个主轴配备 1-2 个 CPU 核心。

其次,事后平衡额外的主轴可能是一个挑战。直到最近才添加了代码来在主轴之间进行数据节点内重新平衡。常规平衡器只在节点之间进行平衡,因此您仍然可能会得到不平衡的主轴。有一些支持调整块放置策略,以便在您添加新主轴时随着时间的推移保持平衡,但这意味着新数据只会写入最少使用的主轴。

第三,目前我可能不会使用超过 12 个 6TB 驱动器(或每个数据节点约 72TB)。这将处理几百万个数据块。除此之外,您开始遇到一些需要集群调整的性能问题,因为诸如数据节点块报告之类的事情花费的时间太长。这在很大程度上取决于您的用例。

我见过驱动器密度更高的集群,但需要进行大量调整才能使其工作(即使这样仍然存在问题)。

相关内容