performance - 如何知道 MR2 中的 HDFS 并发吞吐量

标签 performance hadoop hdfs throughput

我是 Hadoop 新手。最近我正在尝试使用 TestDFSIO 来评估我的 hdfs 性能,我有一个关于并发吞吐量的问题:

在 MR 1

并发吞吐量 = 报告的吞吐量 x 映射槽数

例如

Throughput MB/sec: 141.4427 
Map Slots=2 
Concurrent Throughput = 282.8854 MB/sec.

但是在 MR2 中(YARN 中不再存在 map 和 reduce slot),如何计算并发吞吐量?

最佳答案

这是一篇很好的简单文章,它解释了这些“并发”词背后的大部分数学知识:

Benchmarking and Stress Testing an Hadoop Cluster With TeraSort, TestDFSIO & Co.

并发吞吐量是关于您确实可以处理多少数据(通过给定数量的映射器或缩减器)。如果你有 100 个映射器插槽,但你的工作只需要 4 个映射器——你只有 4 倍的平均吞吐量。在 YARN 中,容器数量有限。所以并发吞吐量大约是

[平均吞吐量] x [实际使用的容器数]。

但是为什么您需要这个什么也没有告诉您的指标呢? 例如,如果您的集群将是异构的(它们迟早会出现),您将永远不会收到满载。如果您的工作中有很多“波浪”,也会发生同样的情况。

Hadoop 集群的真正威力不在于集群本身,而在于将您的工作采用一般的 Hadoop 模型以及针对特定情况的集群平衡。我经常遇到这样的情况,即我调整得更好的登台集群在客户端击败了生产集群。这通常会导致就客户集群配置或硬件平衡进行协商,因为他们通常不会考虑自己的具体情况。但是他们的硬件毫无疑问比我的好。

关于performance - 如何知道 MR2 中的 HDFS 并发吞吐量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28393678/

相关文章:

python - 快速从给定列表中查找字典中的所有键

Javascript 性能大页面

performance - Logstash 6.8 与 JDBC 数据摄取率问题

Hadoop 设置和配置

hadoop - Apache Kafka 是否将消息内部存储在 HDFS 或其他文件系统中

java.lang.NoClassDefFoundError : com/google/common when trying to create a Configuration object

c - 向量化嵌套索引

hadoop - 运行Apache Pig教程问题

hadoop - Hadoop的内置组件是什么?

java - HDFS 文件校验和