mapreduce—从命令提示符运行MapReducer程序时hadoop集群中的堆空间问题

yvgpqqbh  于 2021-05-29  发布在  Hadoop
关注(0)|答案(1)|浏览(371)

我正在运行样例map reduce作业,它将.csv文件作为hdfs的输入,并通过java map程序插入hbase。我尝试使用以下选项来避免java堆错误。

  1. configuration.set("mapreduce.map.java.opts", "-Xmx5g");
  2. configuration.set("mapreduce.map.memory.mb", "-1");

但是我在运行map reduce程序时遇到了java堆问题。
2016-08-30 12:47:26764 info[main]org.apache.hadoop.conf.configuration.deprecation:mapred.skip.on已被否决。相反,请使用mapreduce.job.skiprecrds 2016-08-30 12:50:57,663 fatal[main]org.apache.hadoop.mapred.yarnchild:运行child:java.lang.outofmemoryerror:java heap space at com.google.protobuf.bytestring.copyfrom(bytestring)时出错。java:194)在com.google.protobuf.codedinputstream.readbytes(codedinputstream。java:324)在org.apache.hadoop.hbase.protobuf.generated.clientprotos$mutationproto$columnvalue$qualifiervalue.(客户端协议)。java:9144)在org.apache.hadoop.hbase.protobuf.generated.clientprotos$mutationproto$columnvalue$qualifiervalue。java:9089)在org.apache.hadoop.hbase.protobuf.generated.clientprotos$mutationproto$columnvalue$qualifiervalue$1.parsepartialfrom(clientprotos。java:9198)在org.apache.hadoop.hbase.protobuf.generated.clientprotos$mutationproto$columnvalue$qualifiervalue$1.parsepartialfrom(clientprotos。java:9193)

  1. Driver program configuration as below :
  2. Job job = new Job(configuration);
  3. job.setJarByClass(HbaseTest.class);
  4. job.setJobName("Data loading to HBase Table::"+TABLE_NAME);
  5. job.setInputFormatClass(TextInputFormat.class);
  6. job.setMapOutputKeyClass(ImmutableBytesWritable.class);
  7. job.setMapperClass(HbaseTestMapper.class);
  8. job.setNumReduceTasks(0);
  9. FileInputFormat.addInputPaths(job, args[0]);
  10. FileSystem.getLocal(getConf()).delete(new Path(outputPath), true);
  11. FileOutputFormat.setOutputPath(job, new Path(outputPath));
  12. job.setMapOutputValueClass(Put.class);

我使用hadoop2.x和三节点集群,每个节点有32gb。我的输入文件大小是831mb。请帮助我什么是问题和如何解决。

nsc4cvqm

nsc4cvqm1#

您可以增加配置,如

  1. configuration.set("mapreduce.child.java.opts", "-Xmx6553m");
  2. configuration.set("mapreduce.map.memory.mb", "8192");

相关问题