在单节点集群上运行hadoop时hdfs是如何工作的?

xpszyzbs  于 2021-06-03  发布在  Hadoop
关注(0)|答案(1)|浏览(310)

有很多内容解释了数据的局部性以及如何进行 MapReduce 以及 HDFS 适用于多节点群集。但是我找不到关于单节点设置的太多信息。在过去的三个月里 Hadoop 我总是在阅读关于Map器和还原器数量的教程和线程,并编写自定义分区器来优化作业,但我总是在想,它是否适用于单节点集群?
跑步的损失是什么 MapReduce 单节点群集上的作业与多节点群集上的作业相比如何?
在这种情况下,分割输入数据所提供的并行性是否仍然适用?
从单个节点读取输入有什么区别 HDFS 从本地文件系统读取数据?
我想由于我的经验不足,我不能清楚地回答这些问题,所以任何帮助都是非常感谢的!
提前谢谢!
编辑:我知道hadoop不适合单节点设置,因为@tc1列出了所有的因素。那么,建立一个伪分布式hadoop环境有什么好处呢?

bn31dyow

bn31dyow1#

我总是在阅读关于Map器和还原器数量的教程和线程,并编写自定义分区器来优化作业,但我总是在想,它是否适用于单节点集群?
视情况而定。组合器是在Map和减少之间运行的,如果使用得当,即使是在单个节点上,您也肯定会感受到这种影响。自定义分区器—可能不是,数据在还原之前会到达同一个磁盘。它们会影响逻辑,也就是说,你的减速机接收到什么样的数据,但可能不会影响性能
与多节点群集相比,在单节点群集上运行mapreduce作业的损失是什么?
处理能力。如果您可以通过单节点设置来处理数据,那么您可能不应该首先使用hadoop进行处理。
在这种情况下,分割输入数据所提供的并行性是否仍然适用?
不,瓶颈通常是i/o,即访问磁盘。在这种情况下,您仍然在访问同一个磁盘,只是从更多的线程访问它。
从单节点hdfs读取输入和从本地文件系统读取有什么区别?
几乎不存在。hdfs的思想是
将文件存储在大的、连续的块中,以避免磁盘查找
在节点之间复制这些块以提供弹性;
在单个节点上运行时,这两种方法都没有实际意义。
编辑:
“单节点”和“伪分布式”的区别在于,在单模式下,所有hadoop进程都运行在单个jvm上。不涉及网络通讯,甚至不通过网络 localhost 即使只是在小数据上测试一个作业,我建议使用伪分布式,因为它本质上与集群相同。

相关问题