我打算将默认gc收集器设置为 -XX:+UseSerialGC
运行Yarn应用程序时。
我尝试在hadoop-env.sh中设置这个参数,也没有设置为 HADOOP_OPTS
也不是 HADOOP_CLIENT_OPTS
有效吗:
//hadoop-env.sh
export HADOOP_OPTS="$HADOOP_OPTS -Dmapreduce.map.java.opts='-XX:+UseSerialGC'"
export HADOOP_CLIENT_OPTS="-XX:+UseSerialGC $HADOOP_CLIENT_OPTS"
同样,在mapred-site.xml中设置它时,当我通过 hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.2.0.jar pi -Dmapreduce.map.java.opts="-Xmx256M" 4 1000
,其中rumtime参数'-dmapreduce.map.java.opts'覆盖mapred-site.xml中的配置。
//mapred-site.xml
<property>
<name>mapreduce.map.java.opts</name>
<value>-Xmx1024M -XX:+UseSerialGC</value>
</property>
检查参数是否生效的方法是登录到datanode并发出以下命令:
/usr/java/jdk1.7.0_11/bin/jps -mlv | grep -i gc
有什么解决办法吗?谢谢!
1条答案
按热度按时间9fkzdhlc1#
您可以指定属性是只读的,并且不能使用final重写,如下所示: