1

我在我的 ec2 文件中的 mapred-site.xml 中有以下设置,我的 Hadoop 正在工作:

<property>
  <name>mapreduce.map.memory.mb</name>
  <value>2048</value>
</property>
<property>
  <name>mapreduce.reduce.memory.mb</name>
  <value>4096</value>
</property>
<property>
  <name>mapreduce.map.java.opts</name>
  <value>-Xmx1024m</value>
</property>
<property>
  <name>mapreduce.reduce.java.opts</name>
  <value>-Xmx3072m</value>
</property>

使用上述属性集,Sqoop 可以完美运行,但 Hive Tez 不能。所以我将其更改为以下内容:

<property>
 <name>mapreduce.map.memory.mb</name>
 <value>4096</value>
</property>
<property>
 <name>mapreduce.reduce.memory.mb</name>
 <value>8192</value>
</property>
<property>
 <name>mapreduce.map.java.opts</name>
 <value>-Xmx3072m</value>
</property>
<property>
 <name>mapreduce.reduce.java.opts</name>
 <value>-Xmx6144m</value>
</property>

由于 Hive Tez 需要更多内存,Sqoop 停止工作,并且 Hive Tez 给了我如下错误:

Diagnostic Messages for this Task:
Container [pid=51661,containerID=container_e50_1493005386967_25486_01_000243] is running beyond virtual memory limits. Current usage: 274 MB of 1 GB physical memory used; 2.7 GB of 2.1 GB virtual memory used. Killing container

建议我如何使 Sqoop 和 Hive tez 都工作。

4

0 回答 0