是否存在对应PIG_HEAPSIZE的Pig/Hadoop配置属性?其底层作用解析
关于PIG_HEAPSIZE的配置疑问
Spark、Hadoop、Tez等框架都支持手动配置一系列属性,例如:
yarn.nodemanager.resource.memory-mbspark.executor.memorypig.exec.reducers.bytes.per.reducer、pig.exec.reducers.max
是否存在与PIG_HEAPSIZE对应的配置属性?目前看来它仅能通过环境变量设置,这个环境变量底层执行了什么操作?会影响哪些属性?
问题解答
1. 是否存在对应配置属性?
没有和PIG_HEAPSIZE直接等价的Pig配置属性,它确实只能通过环境变量来设置。
2. 底层执行的操作
当设置PIG_HEAPSIZE环境变量后,Pig的启动shell脚本会读取这个值,将其转换为JVM堆内存参数-Xmx${PIG_HEAPSIZE},并传递给运行Pig客户端的JVM进程——说白了就是用这个值指定Pig客户端进程的最大堆内存上限。
3. 影响的范围
PIG_HEAPSIZE仅作用于Pig客户端进程的堆内存,不会影响Pig提交到YARN上运行的MapReduce任务的内存配置。那些任务的内存需要通过mapreduce.map.memory.mb、mapreduce.reduce.memory.mb这类Hadoop属性来单独配置,和这个环境变量完全无关。
内容的提问来源于stack exchange,提问作者cydacoder
相关产品推荐
相关产品推荐

