关于 Hadoop 集群中的 Datanode 磁盘设置,我想知道以下内容。这两个选项哪个更好:
将一个(或几个)磁盘添加到 Datanode,并在它们开始填充后附加更多。
或者从一开始就从尽可能多的磁盘开始并同时填充它们。
其他两个相关的问题:最好获得尽可能大的驱动器,以便为有限数量的驱动器插槽获得最大容量?
单个Datanode可以支持多少存储?(当然这取决于 Datanode 硬件规范,但仍然......任何近似限制?)
关于 Hadoop 集群中的 Datanode 磁盘设置,我想知道以下内容。这两个选项哪个更好:
将一个(或几个)磁盘添加到 Datanode,并在它们开始填充后附加更多。
或者从一开始就从尽可能多的磁盘开始并同时填充它们。
其他两个相关的问题:最好获得尽可能大的驱动器,以便为有限数量的驱动器插槽获得最大容量?
单个Datanode可以支持多少存储?(当然这取决于 Datanode 硬件规范,但仍然......任何近似限制?)
首先,主轴的数量与 mapreduce 作业的性能直接相关(在一定程度上)。通常,您希望每个主轴执行 1-2 个 CPU 内核之类的操作。
其次,事后平衡额外的主轴可能是一个挑战。直到最近才添加代码来跨主轴进行数据节点内重新平衡。常规平衡器仅在节点之间进行平衡,因此您仍然可以获得不平衡的主轴。有一些支持来调整块放置策略,以便在您添加新主轴时它会随着时间的推移而趋于平稳,但这意味着新数据只会写入最少使用的主轴。
第三,此时我可能不会做超过 12 个 6TB 驱动器(或每个数据节点约 72TB)。这将处理价值数百万块的数据。除此之外,您开始遇到一些需要集群调整的性能问题,因为诸如数据节点块报告之类的事情花费了太长时间。其中很多将取决于您的用例。
我见过具有更高驱动器密度的集群,但需要进行大量调整才能使其工作(即使那样仍然存在问题)。