草庐IT

heap-size

全部标签

hadoop - Mahout - 异常 : Java Heap space

我正在尝试使用以下方法将一些文本转换为mahout序列文件:mahoutseqdirectory-iLastfm-ArtistTags2007-oseqdirectory但我得到的只是一个OutOfMemoryError,如下所示:Runningonhadoop,using/usr/bin/hadoopandHADOOP_CONF_DIR=MAHOUT-JOB:/opt/mahout/mahout-examples-0.9-job.jar14/04/0716:44:34INFOcommon.AbstractJob:Commandlinearguments:{--charset=[UTF

hadoop - Spark : Minimize task/partition size skew with textFile's minPartitions option?

我正在通过sc.textFile("/data/*/*/*")之类的方式将数万个文件读入rdd>一个问题是这些文件中的大多数都是微小的,而其他的则巨大。这会导致任务不平衡,从而导致各种众所周知的问题。我能否通过sc.textFile("/data/*/*/*",minPartitions=n_files*5)读取数据来拆分最大的分区,其中n_files是输入文件的个数吗?如约定elsewhere在stackoverflow上,minPartitions被传递到hadooprabithole,并在org.apache.hadoop.mapred.TextInputFormat.getSp

hadoop - 检查点在 HDFS 中是如何工作的?我想弄清楚 fs.checkpoint.period 和 fs.checkpoint.size

当它说时,辅助名称节点检查点每小时(fs.checkpoint.period以秒为单位)或如果编辑日志已达到64MB(fs.checkpoint.size以字节为单位)则更早?究竟是什么意思?据我了解,编辑日志存储在本地文件磁盘中。 最佳答案 HDFS元数据可以认为由两部分组成:基本文件系统表(存储在名为fsimage的文件中)和列出对基本表所做更改的编辑日志(存储在文件中称为edits)。检查点是协调fsimage与edits以生成新版本的fsimage的过程。这样做有两个好处:更新版本的fsimage和截断的编辑日志。fs.ch

hadoop - Apache hive : LOAD DATA vs INSERT OVERWRITE OUTPUT FILE SIZE

我正在使用ApacheHive,我不明白为什么如果我使用INSERTOVERWRITE与LOAD加载数据,表的大小会加倍。问题说明如下:我创建了一个表项从item.dat加载数据(大约28MB)在Azure中发生的是文件item.dat将被移动到hive/warehouse并且当然大小保持不变现在,如果我创建另一个与item相同的表item2,然后使用以下命令将数据从item加载到item2:INSERTOVERWRITETABLEitem2SELECT*FROMitem表item2的大小是item的两倍(大约55MB)为什么会这样?有什么办法可以避免吗?附言。这只是为了说明问题。在实

java - 运行 mapreduce 程序时出现 "Java Heap space Out Of Memory Error"

我在运行mapreduce程序时遇到内存不足错误。如果我将260个文件保存在一个文件夹中并作为mapreduce程序的输入,它会显示Java堆空间内存不足错误。如果我只提供100文件作为mapreduce的输入,它运行良好。那么我如何限制mapreduce程序一次只处理100个文件(~50MB)。任何人都可以就这个问题提出建议......Nooffiles:318,Noofblocks:1(blocksize:128MB),Hadoop运行在32位系统上MyStackTrace:==============15/05/0511:52:47INFOinput.FileInputForma

java - 错误 : java heap space on Google Data-Proc Cluster

我在Googledataproc集群上从一个表运行Hive插入覆盖查询13783531记录到另一个分区表,不做任何转换。失败并出现错误DiagnosticMessagesforthisTask:Error:JavaheapspaceFAILED:ExecutionError,returncode2fromorg.apache.hadoop.hive.ql.exec.mr.MapRedTaskMapReduceJobsLaunched:Stage-Stage-1:Map:34CumulativeCPU:1416.18secHDFSRead:6633737937HDFSWrite:0FAI

java - dfs.block.size 用于本地 hadoop 作业?

我想运行一个hadoop单元测试,使用本地文件系统模式...我希望看到几个part-m-*文件被写入磁盘(而不是只有1个)。但是,由于它只是一个测试,我不想处理64M的数据(我相信默认大小是每个block~64megs)。在分布式模式下我们可以使用dfs.block.size我想知道是否有一种方法可以让我的本地文件系统写出小的part-m文件,也就是说,这样我的单元测试将用几个(尽管非常小)文件模拟大规模数据的内容。 最佳答案 假设您的输入格式可以处理可拆分文件(参见org.apache.hadoop.mapreduce.lib.i

java - Hadoop 错误 : Java heap space when using big dataset

我正在尝试在大型文本数据集(~3.1Tb)上运行Hadoop程序。我一直收到这个错误,而且我看不到任何日志:15/04/2913:31:30INFOmapreduce.Job:map86%reduce3%15/04/2913:33:33INFOmapreduce.Job:map87%reduce3%15/04/2913:35:34INFOmapreduce.Job:map88%reduce3%15/04/2913:37:34INFOmapreduce.Job:map89%reduce3%15/04/2913:39:33INFOmapreduce.Job:map90%reduce3%15

hadoop - Mesos 和 Hadoop : How to get the running job input data size?

我在Mesos0.14上运行Hadoop1.2.1。我的目标是记录输入数据大小、运行时间、cpu使用情况、内存使用情况等,以便稍后进行优化。除了数据大小之外,所有这些都是使用Sigar获得的。有什么方法可以获取正在运行的任何作业的输入数据大小?例如,当我运行hadoop示例的terasort时,我需要在作业实际运行之前获取teragen生成的数据大小。如果我正在运行Wordcountexample,我需要获取wordcount输入文件大小。我需要自动获取数据大小,因为我无法知道稍后将在该框架内运行什么作业。我正在使用Java编写一些mesos库代码。最好,我想在MesosExecuto

java - 当我试图将整个文件夹作为 Mapreduce 程序的输入时,我正面临 "Java heap space error"

当我尝试通过将整个文件夹作为MR作业的输入来运行mapreduce程序时,我遇到了“Java堆空间错误”。当我将单个文件作为MR作业的输入时,我没有遇到任何错误。作业已成功运行。ChangesItriedinhadoop-env.shfile:=====================================Ihadincreasedthememorysizefrom1024to2048MBexportHADOOP_CLIENT_OPTS="-Xmx2048m$HADOOP_CLIENT_OPTS"Changesinmapred-site.xml:===============