使用hadoop jar时如何增加堆大小?
How to increase the heap size when using hadoop jar?
我正在 运行 使用 hadoop jar
命令编写程序。但是,为了使该程序 运行 更快,我需要增加 Hadoop 的堆大小。我尝试了以下方法,但它没有任何效果(我有 hadoop 版本 2.5),即使在同一个终端上也是如此。
export HADOOP_HEAPSIZE=16384
export HADOOP_OPTS="-Xmx16g"
我认为的另一种方法是将以下内容添加到 mapred-site.xml 文件中,但不幸的是我不是管理员,所以不能这样做。
<property>
<name>mapred.child.java.opts</name>
<value>-Xmx16384m</value>
</property>
还有其他方法吗?
我通过修改HADOOP_CLIENT_OPTS环境变量解决了这个问题,如下图
export HADOOP_CLIENT_OPTS="-Xmx16g $HADOOP_CLIENT_OPTS"
请注意,我使用的程序仅在主节点上运行。换句话说,它不是分布式应用程序。
使用适合我的 Hadoop jar 时增加堆大小的方法:
HADOOP_CLIENT_OPTS="-XX:-UseGCOverheadLimit -Xmx16384m" hadoop jar parquetExample.jar
如您所见,您在同一行 [=12= 之前设置了环境变量的值(也适用于其他环境变量,在这种情况下,我将最大大小设置为 16384m
) ]命令。
我正在 运行 使用 hadoop jar
命令编写程序。但是,为了使该程序 运行 更快,我需要增加 Hadoop 的堆大小。我尝试了以下方法,但它没有任何效果(我有 hadoop 版本 2.5),即使在同一个终端上也是如此。
export HADOOP_HEAPSIZE=16384
export HADOOP_OPTS="-Xmx16g"
我认为的另一种方法是将以下内容添加到 mapred-site.xml 文件中,但不幸的是我不是管理员,所以不能这样做。
<property>
<name>mapred.child.java.opts</name>
<value>-Xmx16384m</value>
</property>
还有其他方法吗?
我通过修改HADOOP_CLIENT_OPTS环境变量解决了这个问题,如下图
export HADOOP_CLIENT_OPTS="-Xmx16g $HADOOP_CLIENT_OPTS"
请注意,我使用的程序仅在主节点上运行。换句话说,它不是分布式应用程序。
使用适合我的 Hadoop jar 时增加堆大小的方法:
HADOOP_CLIENT_OPTS="-XX:-UseGCOverheadLimit -Xmx16384m" hadoop jar parquetExample.jar
如您所见,您在同一行 [=12= 之前设置了环境变量的值(也适用于其他环境变量,在这种情况下,我将最大大小设置为 16384m
) ]命令。