草庐IT

MAPREDUCE

全部标签

hadoop - 自动链接 mapreduce 库

我正在开发一个在亚马逊网络服务上运行的mapreduce程序(它实际上是一个相当复杂的字数统计算法)。我生成了一个在AWS节点上运行的.jar。我现在正在做的是将所有mapreduce库jar合并到我的.jar文件中。一切正常,但我认为这不是一个很好的做法(他们对机器镜像进行了一些更新,我收到了可能与此相关的奇怪异常)。有人可以向我解释如何自动链接安装在亚马逊上的hadoop版本,这样我就可以在不将外部库添加到我的jar的情况下做到这一点吗?非常感谢您的帮助! 最佳答案 所以您正在使用Amazon的ElasticMapReduce!

hadoop - 如何确定 Hadoop 使用的所有默认端口并更改所有端口?

我在运行CentOS6.4的三个虚拟机集群上尝试了Hadoop2。我成功启动了hadoop集群,虽然Hadoop2的配置文件如:core-site.xml,hdfs-site.xml,mapred-site.xml和yarn-site.xml折磨我很多。我想把Hadoop2使用的所有默认端口都改掉,配置文件的官方文档定义了那么多端口号。因此,我认为最好确定Hadoop在运行时使用了哪些端口,然后将其全部更改。那么如何在运行CentOS的集群中找出Hadoop使用的所有默认端口呢?谢谢。 最佳答案 您可以通过使用netstat命令并结

hadoop - CDH4 主要用于 YARN 吗?

我有几个关于CDH4的问题或困惑。我在这里发帖是因为我没有得到关于我的问题的任何具体信息。CDH4是为了推广YARN吗?我尝试使用tarball使用CDH4.3.0设置MapReduce1。我终于做到了,但它是迂回而痛苦的。而YARN的设置很简单。有人在生产中使用YARN吗?Apache明确表示YARN仍处于alpha版本,不适合生产。在这种情况下,为什么Cloudera以CDH4YARN为中心?Cloudera是否在生产中支持YARN?如果问题不合适,我们深表歉意。这就是tarball解压的样子。我关注了几个links进行配置,但我对必须完成的方式不满意CDH4.3.0tarball

hadoop - 使用hadoop map reduce获取最高薪水员工姓名

我是M/R程序的新手..我在HDFS中有一个包含这种结构数据的文件EmpId,EmpName,Dept,Salary,1231,用户名1,部门1,50001232,用户名2,部门2,60001233,用户名3,部门3,7000.......................现在我想找到工资最高的员工的姓名我写了一个mapreduce来找到最高的薪水。在我的映射器类中,我发出了这样的输出output.collect("最大值",员工工资);在reducer中,我找到了键“maxvalue”的最大值。现在我想在映射器中使用这个值,并找到赚取最高薪水的员工的名字。我如何发送reducer输出映

hadoop - 当您使用 Pig Latin 有许多小输入文件时提高性能

目前我正在处理大约19GB的日志数据,而且它们是分开的,因此输入文件的编号是145258(pigstat)。在WebUI中执行应用程序和启动mapreduce作业之间,准备工作浪费了大量时间(大约3小时?),然后mapreduce作业开始。而且mapreduce作业本身(通过Pig脚本)非常慢,大约需要一个小时。mapreduce逻辑没有那么复杂,就像一个groupby操作。我有3个数据节点和1个名称节点,1个辅助名称节点。如何优化配置以提高mapreduce性能? 最佳答案 您应该将pig.maxCombinedSplitSize

java - 执行 mapreduce 程序时出现 ClassNotFoundException

我试图在eclipse中执行字数统计程序。但是在执行程序时出现以下错误log4j:ERRORCouldnotinstantiateclass[org.apache.hadoop.log.metrics.EventCounter].java.lang.ClassNotFoundException:org.apache.hadoop.log.metrics.EventCounteratjava.net.URLClassLoader$1.run(URLClassLoader.java:366)atjava.net.URLClassLoader$1.run(URLClassLoader.jav

hadoop - 使用 PIG 处理小文件

根据我的理解,Map/Reduce对于大文件效果更好。(我理解这是由于拆分逻辑等),我们可以将文件作为值和文件名作为序列文件中的键并进行优化。现在的问题是我正在使用PIG进行分析,我们有大约数千个文件,但所有文件都以KB为单位。正如我们所知,piglatin被转换并作为MR作业运行,所以我怀疑MR作业会因为小文件而效率低下。有什么方法可以控制通过pig处理的小文件吗?有开箱即用的解决方案吗? 最佳答案 Pig具有将小文件组合成大块的功能:http://pig.apache.org/docs/r0.11.1/perf.html#com

c# - "Failed Map Tasks exceeded allowed limit"来自 Hadoop 的错误

当我使用C#运行MapReduce示例应用程序时出现“失败的maptask超出允许的限制”错误,如下所示。谁能告诉我为什么它一直向我显示此错误?欣赏它。publicoverridevoidMap(stringinputLine,MapperContextcontext){//ExtractthenamespacedeclarationsintheCsharpfilesvarreg=newRegex(@"(using)\s[A-za-z0-9_\.]*\;");varmatches=reg.Matches(inputLine);foreach(Matchmatchinmatches){/

java - 无法使用 mapreduce.LoadIncrementalHFiles 将 HFiles 加载到 HBase

我想使用HBase批量加载APILoadIncrementalHFiles.doBulkLoad(newPath(),hTable)将我的map-reduce作业的输出插入到HBase表中。我从我的映射器发出KeyValue数据类型,然后使用HFileOutputFormat使用其默认缩减器准备我的HFile。当我运行我的map-reduce作业时,它没有任何错误地完成并创建了输出文件,但是,最后一步-将HFiles插入HBase并没有发生。我的map-reduce完成后出现以下错误:13/09/0803:39:51WARNmapreduce.LoadIncrementalHFiles

hadoop - 灵活的堆空间分配给 Hadoop MapReduce Mapper 任务

我无法找到配置运行MapReduce1的Hadoop集群(CDH4)的最佳方法。我处于这样一种情况,我需要运行两个需要大量Java堆空间的映射器,以至于我不可能在每个节点上运行超过1个映射器——但同时我希望能够运行作业这可以受益于每个节点的许多映射器。我正在通过Cloudera管理UI配置集群,MaxMapTasks和mapred.map.child.java.opts似乎是相当静态的设置。我想要的是一个类似堆空间池的东西,有XGB可用,它可以容纳这两种作业,而不必每次都重新配置MapReduce服务。如果我运行1个映射器,它应该分配XGB堆-如果我运行8个映射器,它应该分配X/8GB