天天看点

Ambari-Metrics配置指南

Ambari-Metrics配置指南

1.常规配置项

属性 默认值 说明

timeline.metrics.service.operation.mode

(timelineServer里面存储实际Metric数据hbase的模式,默认为embedded,即hbase数据存储在本地文件系统中)

embedded 改成distributed则为分布模式,同时要修改ams-hbase-site中的hbase.cluster.distributed=true配置项

phoenix.spool.directory

(该目录存储发送失败或者重启后未存储到hbase的metric数据)

/tmp 程序会监控该文件夹。当出现新文件时会读取该文件并获取数据.
phoenix.query.maxGlobalMemoryPercentage 25 通过phoenix进行表查询时所能使用的总体内存占比。
timeline.metrics.hbase.compression.scheme SNAPPY metric存入到hbase中的压缩方式,默认为SNAPPY该项只能在建表之前改变,即一开始进行配置
timeline.metrics.hbase.data.block.encoding:blockEncoding FASTDIFF 将重复的row/family/qualifier/进行压缩的方式,减少block的空间占用

timeline.metrics.service.cluster.aggregator.appIds

(那些具有聚集主机级别的metric的应用程序列表,用“,”分隔,比如mem_free的app_id一般都为HOST,但是设置了此项之后,比如增加了datanode,那么则会在集群级别的统计中,统计app_id=datanode的mem_free.

例:datanode,nodemanager,hbase 例如统计datanode所消耗的bytes_read,mem_free

timeline.metrics.service.default.result.limit

(默认是限制取一天的metrics)

5760 metrics结果集最大返回行数,这个是这样计算的,假设每分钟4个metric,一个小时就是240,一天就是5760条。
timeline.metrics.service.resultset.fetchSize 2000 通过jdbc进行聚集查询的结果集本地大小
timeline.metrics.service.checkpointDelay 60 第一次进行checkpoint或者当checkpoint太旧的时候,推迟进行checkpoint的时间
timeline.metrics.host.aggregate.splitpoints ……. 主机级别聚集表的预分区的分隔点设置
timeline.metrics.cluster.aggregate.splitpoints …… 集群级别聚集表的预分区的分隔点设置

timeline.metrics.sink.report.interval

(monitor向timeline发送metric的间隔时间)

60 在hadoop-metrics2.property里面表现为:*.sink.timeline.sendInterval=60000,在monitor的配置目录中体现为:send_interval = 60

timeline.metrics.sink.collection.period

hadoop-sink采集hadoop的metric的间隔时间,即同一个hadoop-metric采集的时间间隔

60 在hadoop-metrics2.property里面表现为:*.sink.timeline.period=60以及*.period=60,修改此值后两个项同步修改

2. 主机级别的聚集统计(以host为单位)相关配置

2.1 实际存储Metrics——表: METRIC_RECORD

此表是实际存储Metrics数据的表,其配置不具备Interval的相关配置项,因为其接收Monitor和HadoopSink发送过来的实际数据,其时间间隔依据Monitor和Hadoop Sink的采集发送Metrics的间隔时间,在配置项中仅有其清理时间。

timeline.metrics.host.aggregator.ttl

(metric_record表是存储实际metrics数据的表)

86400 metric_record表的清理时间,默认为1天

2.2 分钟级对应——表:METRIC_RECORD_MINUTE

属性 默认值 说明
timeline.metrics.host.aggregator.minute.disabled False 是否不开启此聚集统计 
timeline.metrics.host.aggregator.minute.interval 120 聚集统计时间
timeline.metrics.host.aggregator.minute.ttl 604800 表数据清理时间
timeline.metrics.host.aggregator.minute.checkpointCutOffMultiplier(由来:聚集线程存储了上一次进行聚集的时间点(checkpoint),以后每次决定聚集时,先要满足这样的条件,即(currentTime - lastRunTime) < multipler * aggregation_interval) 2 此值*interval=最大延迟值,即如果聚集的最近一次checkpoint的间隔时间超过最大延迟值,则这个checkpoint会被视为无效。
timeline.metrics.aggregator.checkpoint.dir /var/lib/ 存储聚集checkpoint的目录

2.3 小时级对应——表:METRIC_RECORD_HOURLY

属性 默认值 说明
timeline.metrics.host.aggregator.hourly.disabled False 是否不开启此聚集统计
timeline.metrics.host.aggregator. hourly .interval 3600 聚集统计时间
timeline.metrics.host.aggregator. hourly .ttl 2592000 表数据清理时间
timeline.metrics.host.aggregator.hourly.checkpointCutOffMultiplier(由来:聚集线程存储了上一次进行聚集的时间点(checkpoint),以后每次决定聚集时,先要满足这样的条件,即(currentTime - lastRunTime) < multipler * aggregation_interval) 2 此值*interval=最大延迟值,即如果聚集的最近一次checkpoint的间隔时间超过最大延迟值,则这个checkpoint会被视为无效。
timeline.metrics.aggregator.checkpoint.dir /var/lib/ 存储聚集checkpoint的目录

2.4 天级对应——表:METRIC_RECORD_DAILY

属性 默认值 说明
timeline.metrics.host.aggregator.daily.disabled False 是否不开启此聚集统计
timeline.metrics.host.aggregator. daily .interval 86400 聚集统计时间
timeline.metrics.host.aggregator. daily .ttl 31536000 表数据清理时间
timeline.metrics.host.aggregator.daily.checkpointCutOffMultiplier(由来:聚集线程存储了上一次进行聚集的时间点(checkpoint),以后每次决定聚集时,先要满足这样的条件,即(currentTime - lastRunTime) < multipler * aggregation_interval) 2 此值*interval=最大延迟值,即如果聚集的最近一次checkpoint的间隔时间超过最大延迟值,则这个checkpoint会被视为无效。
timeline.metrics.aggregator.checkpoint.dir /var/lib/ 存储聚集checkpoint的目录

3. 集群级别的聚集统计(以MetricName为单位)相关配置

3.1 分钟级对应——表:METRIC_AGGREGATE_MINUTE

属性 默认值 说明
timeline.metrics.cluster.aggregator.minute.disabled False 是否不开启此聚集统计
timeline.metrics.cluster.aggregator.minute.interval 120 聚集统计时间
timeline.metrics.cluster.aggregator.minute.ttl 2592000 表数据清理时间

timeline.metrics.cluster.aggregator.minute.timeslice.interval

(实则是METRIC_AGGREGATE的间隔时间)

30 Lowest resolution of desired data for cluster level minute aggregates
timeline.metrics.cluster.aggregator.minute.checkpointCutOffMultiplier(由来:聚集线程存储了上一次进行聚集的时间点(checkpoint),以后每次决定聚集时,先要满足这样的条件,即(currentTime - lastRunTime) < multipler * aggregation_interval) 2 此值*interval=最大延迟值,即如果聚集的最近一次checkpoint的间隔时间超过最大延迟值,则这个checkpoint会被视为无效。
timeline.metrics.aggregator.checkpoint.dir /var/lib/ 存储聚集checkpoint的目录

3.2 小时级对应——表:METRIC_AGGREGATE_HOURLY     

属性 默认值 说明
timeline.metrics.cluster.aggregator.minute.disabled False 是否不开启此聚集统计
timeline.metrics.cluster.aggregator.minute.interval 3600 聚集统计时间
timeline.metrics.cluster.aggregator.minute.ttl 31536000 表数据清理时间
timeline.metrics.cluster.aggregator.minute.checkpointCutOffMultiplier(由来:聚集线程存储了上一次进行聚集的时间点(checkpoint),以后每次决定聚集时,先要满足这样的条件,即(currentTime - lastRunTime) < multipler * aggregation_interval) 2 此值*interval=最大延迟值,即如果聚集的最近一次checkpoint的间隔时间超过最大延迟值,则这个checkpoint会被视为无效。
timeline.metrics.aggregator.checkpoint.dir /var/lib/ 存储聚集checkpoint的目录

3.3 天级对应——表:METRIC_AGGREGATE_DAILY

属性 默认值 说明
timeline.metrics.cluster.aggregator.daily.disabled False 是否不开启此聚集统计
timeline.metrics.cluster.aggregator. daily.interval 86400 聚集统计时间
timeline.metrics.cluster.aggregator.daily.ttl 63072000 表数据清理时间
timeline.metrics.cluster.aggregator.daily.checkpointCutOffMultiplier(由来:聚集线程存储了上一次进行聚集的时间点(checkpoint),以后每次决定聚集时,先要满足这样的条件,即(currentTime - lastRunTime) < multipler * aggregation_interval) 2 此值*interval=最大延迟值,即如果聚集的最近一次checkpoint的间隔时间超过最大延迟值,则这个checkpoint会被视为无效。
timeline.metrics.aggregator.checkpoint.dir /var/lib/ 存储聚集checkpoint的目录

继续阅读