一、闲扯

  最近离线行车日志数仓,项目即将基于Lambda架构形式,实时基于flink框架,离线批处理基于 HiveOnSpark。中期基于这个机构。最后版本定位FlinkSQL 批流一体化。

测试环境基于阿里云搭建的CDH。目前准备跑一下测试的flin实时作业和spark作业。内存有限,所以做了相关调整。略记录一下

二、正题

1、yarn.nodemanager.resource.memory-mb
表示该节点上YARN可使用的物理内存总量,默认是8192(MB),注意,如果你的节点内存资源不够8GB,则需要调减小这个值,而YARN不会智能的探测节点的物理内存总量。

可以单独为每一个nodemanager指定内存:Yarn->实例->NodeManager->配置, 输入  yarn.nodemanager.resource.memory-mb ,如下

yarn rest api 提交wordcount yarn-session 参数_java

在yarn中为每一个nodemanager都配置同一配置:Yarn-->配置, 输入  yarn.nodemanager.resource.memory-mb ,如下

yarn rest api 提交wordcount yarn-session 参数_java_02

2、yarn.nodemanager.vmem-pmem-ratio
任务每使用1MB物理内存,最多可使用虚拟内存量,默认是2.1。尴尬啊,在Yarn-->配置, 输入 yarn.nodemanager.vmem-pmem-ratio ,

如下没有选项配置。可以在配置 输入  yarn-site.xml。点击"+"可以像 本地配置一下添加key/value配置了

yarn rest api 提交wordcount yarn-session 参数_spark_03

yarn rest api 提交wordcount yarn-session 参数_xml_04

3、yarn.nodemanager.pmem-check-enabled
是否启动一个线程检查每个任务正使用的物理内存量,如果任务超出分配值,则直接将其杀掉,默认是true。

上图

4、yarn.nodemanager.vmem-check-enabled
是否启动一个线程检查每个任务正使用的虚拟内存量,如果任务超出分配值,则直接将其杀掉,默认是true。
5、yarn.scheduler.minimum-allocation-mb
6、单个任务可申请的最少物理内存量,默认是1024(MB),如果一个任务申请的物理内存量少于该值,则该对应的值改为这个数。
7、yarn.scheduler.maximum-allocation-mb
单个任务可申请的最多物理内存量,默认是8192(MB)。

yarn rest api 提交wordcount yarn-session 参数_大数据_05

其他选项都是雷同了。上面记录一些。

总结:关于hdfs-site.xml/core-site.xml/ mapred-site.xml/yarn-site,xml。可以配置哪些选项,可以查看 xxx-default.xml文件。

在cm上配置基本思路:在对应的组件下->点击"配置",在输入框内输入需要配置的参数。2种情况

1、输入 相关参数后,有配置参数。直接修改。如:

yarn rest api 提交wordcount yarn-session 参数_xml_06

2、输入 相关参数后,没有相关参数选项。可以通过输入对应的xxx-site.xml,在"+"处手动新增配置即可。如

yarn rest api 提交wordcount yarn-session 参数_物理内存_07