天天看點

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的目錄

繼續閱讀