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