最近使用hadoop分布式缓存处理数据,经常出现java heap溢出,google了一下,问题解决:
方法1:修改hadoop环境配置文件conf/hadoop-env.sh,加入下面两行:
export HADOOP_HEAPSIZE=2000
export HADOOP_CLIENT_OPTS="-Xmx1024m $HADOOP_CLIENT_OPTS"
方法2:以上方法是对所有程序有效,如果只针对某一个程序,可以在运行时加入参数,例如:
bin/hadoop jar hadoop-examples-*.jar grep -D mapred.child.java.opts=-Xmx1024M input output 'dfs[a-z.]+'