当前位置: 首页 > 知识库问答 >
问题:

优化Hadoop作业在YARN上的执行

牟华翰
2023-03-14

介绍一下--我正在学习Hadoop。我已经在Hadoop(集群)之上实现了机器学习算法,并且只在一个小例子(30MB)上测试了它。

几天前,我安装了Ambari并创建了一个由四台机器组成的小型集群(master和3个worker)。Master有资源管理器和namenode。

现在,我正在通过增加数据量(300MB、3GB)来测试我的算法。我正在寻找一个指针如何调整我的迷你群集。具体来说,我想知道如何确定MapReduce2和纱线设置在安巴里。

如何确定容器的最小/最大内存,容器的保留内存,排序分配内存,映射内存和减少内存?

问题是我的作业在Hadoop上的执行非常慢(集群是一种迭代算法,这使得事情变得更糟)。

  • 我为30MB的数据集运行一个作业(我将此作业的块内存设置为8MB,因为数据很小,处理很密集)-执行时间30分钟
  • 我运行相同的作业,但将相同的数据集乘以10倍-300MB(相同的块大小,8MB)-执行时间2小时
  • 现在相同的数据量--300MB,但块大小为128MB-相同的执行时间,甚至可能大于2小时

HDFS上的块大小是128MB,所以我认为这会导致加速,但事实并非如此。我的疑虑是集群设置(最小/最大RAM大小、map和reduce RAM)不好,因此即使实现了更大的数据局部性,它也无法改善。

这可能是错误设置的结果,还是我错了?

共有1个答案

孔乐邦
2023-03-14

请在Yarn配置中设置以下属性,为每个作业分配33%的最大Yarn内存,可以根据您的要求进行更改。

 类似资料:
  • 也许一定有一个更合适的方式来提交火花工作。有人知道如何将Apache Spark作业远程提交到hDinsight吗? 多谢!

  • 我有类文件加载到Hadoop文件系统,也有输入文件加载到HDFS。当我在终端中通过hadoop命令运行类文件时,出现了类找不到的错误。例如:我有HDFS内容为WordCount.Class WordCountMapper.Class WordCountReducer.Class SampleInpujt.txt 有人能纠正我哪里做错了吗?或者这是真的可以做到的。

  • 我正在使用单个节点hadoop作业做一些数据准备。我的作业中的映射器/组合器输出许多键(超过5M或6M),显然作业进行得很慢,甚至失败。映射阶段最多运行120个mapper并且只有一个reducer(这些是自动确定的,我没有为它们设置任何值)。我想优化作业,使洗牌/排序阶段更有效地发生。我将增加到300M,但作业失败了,因为它的值大于映射器堆。然后我将设置为-xmx1024m,但它再次失败,因为它

  • YARN是新一代Hadoop资源管理器,通过YARN,用户可以运行和管理同一个物理集群机上的多种作业,例如MapReduce批处理和图形处理作业。这样不仅可以巩固一个组织管理的系统数目,而且可以对相同的数据进行不同类型的数据分析。某些情况下,整个数据流可以执行在同一个集群机上。

  • 我正在做一些类似于标准MapReduce示例的事情——字数统计,但是有所改变,我只希望得到前N个结果。 假设我在HDFS有一个非常大的文本数据集。有大量的例子展示了如何构建一个Hadoop MapReduce作业,为你提供文本中每个单词的字数。例如,如果我的语料库是: “这是对测试数据的检验,也是检验这一点的好方法” 来自标准 MapReduce 字数统计作业的结果集为: 测试:3、a:2、thi

  • 我实例化了一个Hadoop2.4.1集群,并且发现运行的MapReduce应用程序的并行化程度将不同,这取决于输入数据所在的文件系统类型。 使用HDFS,MapReduce作业将生成足够的容器,以最大限度地利用所有可用内存。例如,一个具有172GB内存的3节点集群,每个map任务分配2GB,将创建大约86个应用程序容器。 在不是HDFS的文件系统上(比如NFS或在我的用例中是并行文件系统),Map

  • 问题内容: 所有守护程序都在运行,jps显示: 但是示例继续失败,并带有以下异常: 因为它说问题出在配置中,所以我在这里发布配置文件。目的是创建一个单节点群集。 yarn-site.xml core-site.xml hdfs-site.xml mapred-site.xml 请告诉我们缺少了什么或我在做什么错。 问题答案: 您使用大写字母,这可能是为什么它无法解决的原因。尝试使用官方文档中建议的

  • 我试图在hadoop中运行一个程序,但我一直得到: 线程“main”java.lang.unsupportedClassVersionError:hadoop_project_16/aggregatejob:不支持major.minor版本52.0在java.lang.ClassLoader.DefineClass1(本机方法)在java.lang.ClassLoader.DefineClass(