gpt4 book ai didi

hadoop - 如何在单机上最好地运行 Hadoop?

转载 作者:可可西里 更新时间:2023-11-01 14:11:52 27 4
gpt4 key购买 nike

我可以访问一台运行 Linux 的计算机,该计算机具有 20 个内核、92 GB RAM 和 100 GB HDD 存储空间。我想将 Hadoop 用于涉及大量数据(超过 1M 单词,超过 1B 单词组合)的任务。 伪分布式模式或完全分布式模式是在单台计算机上利用 Hadoop 功能的最佳方式吗?

对于我的 Hadoop 预期用途,遇到数据丢失和由于节点故障而不得不重新运行作业并不是大问题。

This project涉及Linux Containers使用完全分布式模式。 This article描述伪分布式模式;可以找到更多详细信息 here .

最佳答案

据我了解,您有一台具有 20 个内核的机器。在这种情况下不需要虚拟化它,因为您创建的 VM 会消耗总资源中的一些资源。最好的选择是在笔记本电脑上安装Linux操作系统,以伪分布式方式安装hadoop并配置容器分配的可用资源。

要获得良好的性能,您需要 CPU 内核和内存。所以仅靠 20 个内核对您没有帮助。您还需要大量的物理内存。可以引用这个document用于分配内存。

hadoop 背后的基础是分布式计算和存储,用于以经济高效的方式处理大数据。所以如果你试图通过虚拟化在同一个父机器(小型机器)中实现多台机器,这对你没有帮助,因为大量资源将被单个机器的操作系统消耗。相反,如果您在机器上安装 hadoop 并将资源正确配置为 hadoop,作业将在多个容器中执行(取决于可用性和要求),因此会发生并行处理。因此,您可以实现现有机器的最大性能。

所以最好的选择是建立一个伪分布式集群并合理分配资源。伪分布式模式是所有守护进程都运行在一台机器上的模式。

使用您共享的硬件配置,您可以使用以下配置来设置您的 hadoop。这可以处理足够的负载。

(yarn-site.xml)    yarn.nodemanager.resource.memory-mb  = 81920
(yarn-site.xml) yarn.scheduler.minimum-allocation-mb = 1024
(yarn-site.xml) yarn.scheduler.maximum-allocation-mb = 81920
(yarn-site.xml) yarn.nodemanager.resource.cpu-vcores = 16
(yarn-site.xml) yarn.scheduler.minimum-allocation-vcores = 1
(yarn-site.xml) yarn.scheduler.increment-allocation-vcores = 1
(yarn-site.xml) yarn.scheduler.maximum-allocation-vcores = 16
(mapred-site.xml) mapreduce.map.memory.mb = 4096
(mapred-site.xml) mapreduce.reduce.memory.mb = 8192
(mapred-site.xml) mapreduce.map.java.opts = 3072
(mapred-site.xml) mapreduce.reduce.java.opts = 6144

关于hadoop - 如何在单机上最好地运行 Hadoop?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31733313/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com