一、日志聚集相关配置参数(发送各个节点)
1、概念:日志聚集是YARN提供的日志中央化管理功能,
它能将运行完成的Container/任务日志上传到HDFS上,从而减轻NodeManager负载,
且提供一个中央化存储和分析机制。默认情况下,Container/任务日志存在在各个
NodeManager上,如果启用日志聚集功能需要额外的配置。
2、参数配置说明:
(1) yarn.log-aggregation-enable
参数解释:是否启用日志聚集功能。
默认值:false
(2) yarn.log-aggregation.retain-seconds
参数解释:在HDFS上聚集的日志最多保存多长时间。
默认值:-1
(3) yarn.log-aggregation.retain-check-interval-seconds
参数解释:多长时间检查一次日志,并将满足条件的删除。
默认值:-1
(4) yarn.nodemanager.remote-app-log-dir
参数解释:当应用程序运行结束后,日志被转移到的HDFS目录(启用日志聚集功能时有效)。
默认值:/tmp/logs
(5) yarn.log-aggregation.retain-seconds
参数解释:远程日志目录子目录名称(启用日志聚集功能时有效)。
默认值:日志将被转移到目录
${yarn.nodemanager.remote-app-log-dir}/${user}/${thisParam}下
3、Hadoop集群配置
例如:yarn-site.xml
<!--yarn的聚合日志是否开启-->
<property>
<name>yarn.log-aggregation-enable</name>
<value>true</value>
</property>
<property>
<name>yarn.log-aggregation.retain-seconds</name>
<value>120</value>
</property>
<property>
<name>yarn.log-aggregation.retain-check-interval-seconds</name>
<value>20</value>
</property>
<property>
<name>yarn.nodemanager.log.retain-seconds</name>
<value>60</value>
</property>
<property>
<name>yarn.nodemanager.remote-app-log-dir</name>
<value>/1707logs</value>
</property>
4、效果说明
(1)、查看各个节点表的logs/userlogs路径下。日志聚集配置之后,下面的
数据会上传到hdfs指定的目录并且删除该路径下的log文件(注意查看)。
(2)、注意查看HDFS目录下保存的logs文件到到时间之后是否被删除(必须开启historyserver服务哦!)。
二、Uber模式配置
1、概念:Uber模式是Hadoop2.0中实现的一种针对MR小作业的优化机制。
即如果作业足够小,则所有task在一个jvm(mrappmaster)中
完成要比为每个task启动一个container更划算。下面是该机制
的相关参数,这些参数均为客户端配置。
2、Uber模式配置:
在maped-site文件添加
mapreduce.job.ubertask.enable
值为true
mapreduce.job.ubertask.maxmaps
map任务数的阀值 9
mapreduce.job.ubertask.maxreduces
reduce任务数的阀值 1
mapreduce.job.ubertask.maxbytes
application的输入大小的阀值
默认为dfs.block.size的值,可以不用写!
1、概念:日志聚集是YARN提供的日志中央化管理功能,
它能将运行完成的Container/任务日志上传到HDFS上,从而减轻NodeManager负载,
且提供一个中央化存储和分析机制。默认情况下,Container/任务日志存在在各个
NodeManager上,如果启用日志聚集功能需要额外的配置。
2、参数配置说明:
(1) yarn.log-aggregation-enable
参数解释:是否启用日志聚集功能。
默认值:false
(2) yarn.log-aggregation.retain-seconds
参数解释:在HDFS上聚集的日志最多保存多长时间。
默认值:-1
(3) yarn.log-aggregation.retain-check-interval-seconds
参数解释:多长时间检查一次日志,并将满足条件的删除。
默认值:-1
(4) yarn.nodemanager.remote-app-log-dir
参数解释:当应用程序运行结束后,日志被转移到的HDFS目录(启用日志聚集功能时有效)。
默认值:/tmp/logs
(5) yarn.log-aggregation.retain-seconds
参数解释:远程日志目录子目录名称(启用日志聚集功能时有效)。
默认值:日志将被转移到目录
${yarn.nodemanager.remote-app-log-dir}/${user}/${thisParam}下
3、Hadoop集群配置
例如:yarn-site.xml
<!--yarn的聚合日志是否开启-->
<property>
<name>yarn.log-aggregation-enable</name>
<value>true</value>
</property>
<property>
<name>yarn.log-aggregation.retain-seconds</name>
<value>120</value>
</property>
<property>
<name>yarn.log-aggregation.retain-check-interval-seconds</name>
<value>20</value>
</property>
<property>
<name>yarn.nodemanager.log.retain-seconds</name>
<value>60</value>
</property>
<property>
<name>yarn.nodemanager.remote-app-log-dir</name>
<value>/1707logs</value>
</property>
4、效果说明
(1)、查看各个节点表的logs/userlogs路径下。日志聚集配置之后,下面的
数据会上传到hdfs指定的目录并且删除该路径下的log文件(注意查看)。
(2)、注意查看HDFS目录下保存的logs文件到到时间之后是否被删除(必须开启historyserver服务哦!)。
二、Uber模式配置
1、概念:Uber模式是Hadoop2.0中实现的一种针对MR小作业的优化机制。
即如果作业足够小,则所有task在一个jvm(mrappmaster)中
完成要比为每个task启动一个container更划算。下面是该机制
的相关参数,这些参数均为客户端配置。
2、Uber模式配置:
在maped-site文件添加
mapreduce.job.ubertask.enable
值为true
mapreduce.job.ubertask.maxmaps
map任务数的阀值 9
mapreduce.job.ubertask.maxreduces
reduce任务数的阀值 1
mapreduce.job.ubertask.maxbytes
application的输入大小的阀值
默认为dfs.block.size的值,可以不用写!