关于开源:Alluxio-Local-Cache-监控指南-Alluxio-Alluxio-​

8次阅读

共计 2529 个字符,预计需要花费 7 分钟才能阅读完成。

作者
张策:Alluxio PMC & 联通大数据工程师

01 什么是 Alluxio Local Cache

随着云计算在基础设施畛域的市场份额持续上升,支流数据分析引擎纷纷抉择独立扩大存储、计算来适配云基础设施,并以此为云提供商降低成本。然而,存储计算拆散也为查问提早带来了新的挑战,因为当网络饱和时,通过网络扫描大量数据将受到 IO 限度。此外,元数据也面临近程网络来检索的性能问题。

数据编排零碎 Alluxio 预见到了存算拆散的发展趋势,并通过分布式缓存服务为 Presto、Spark 等引擎减速查问性能。为了在存算拆散架构中实现亚秒级的查问提早,Alluxio 和 Presto 的外围团队单干实现了客户端嵌入式缓存库 Alluxio Local Cache,来进一步缩小数据分析引擎和 Alluxio 之间的通信开销。

相干博客如下:
Alluxio Data Caching : https://prestodb.io/blog/2020…
Presto RaptorX : https://prestodb.io/blog/2020…

02 Alluxio Local Cache 配置与启用

2021 年大部分工夫 Local Cache 仅反对 Presto Hive Connector,并曾经失去大规模利用。社区于 2021 年底新增了 Local Cache 对 Presto Iceberg Connector 的反对,相干内容将在之后的博客做深刻介绍。

如何在 Presto on Hive 场景配置、启用 Local Cache:

  1. Presto 配置文件:etc/catalog/hive.properties

    hive.node-selection-strategy=SOFT_AFFINITY
  2. 批改 Presto 配置文件:etc/catalog/hive.properties,缓存门路举荐配置为 Ramdisk 或 SSD 来达到最佳成果。

    cache.enabled=true
    cache.base-directory=file:///mnt/flash/data
    cache.type=ALLUXIO
    cache.alluxio.max-cache-size=1600GB
  3. 启动 Presto
    Tips:除数据缓存(Data cache)外,其余缓存性能为试验个性。

03 如何监控 Local Cache

为了晋升 Local Cache 的可观测性,咱们能够通过 prometheus jmx exporter 将 Worker 的指标裸露进去,应用 prometheus 采集后做进一步剖析。

监控配置与启用
1. 新增 jmx_prometheus_config.yaml 配置文件

global:
  scrape_interval:     15s
  evaluation_interval: 15s

2. 下载 jmx_prometheus_javaagent-.jar,简称 jmx_prometheus_javaagent.jar

3.presto jvm.config 配置中新增

-javaagent://jmx_prometheus_javaagent.jar=://jmx_prometheus_config.yaml

4. 重启 Presto

5. 拜访 http://<presto_worker>:port/ 查问是否配置胜利

6. 将指标接入 prometheus,在 promethues 配置文件中新增

scrape_configs:
  - job_name: "presto_local_cache"
    scrape_interval: 15s
    static_configs:
      - targets: [":"]
        labels:
          appname: "presto_local_cache"

指标解析

Alluxio Local Cache 凋谢了泛滥监控指标,以下指标是形容缓存应用状况的根底指标,用户须要重点关注:

缓存命中率

com_facebook_alluxio_Client_CacheHitRate_<HOST>_Value

缓存访问量:
com_facebook_alluxio_Client_CacheBytesReadCache_<HOST>_OneMinuteRate
com_facebook_alluxio_Client_CacheBytesReadCache_<HOST>_FiveMinuteRate
com_facebook_alluxio_Client_CacheBytesReadCache_<HOST>_FifteenMinuteRate
com_facebook_alluxio_Client_CacheBytesReadCache_<HOST>_Count

缓存未命中后,内部零碎访问量
com_facebook_alluxio_Client_CacheBytesReadExternal_<HOST>_OneMinuteRate
com_facebook_alluxio_Client_CacheBytesReadExternal_<HOST>_FiveMinuteRate
com_facebook_alluxio_Client_CacheBytesReadExternal_<HOST>_FifteenMinuteRate
com_facebook_alluxio_Client_CacheBytesReadExternal_<HOST>_Count

缓存空间使用量
com_facebook_alluxio_Client_CacheSpaceUsed_<HOST>_Number

缓存空间残余量
com_facebook_alluxio_Client_CacheSpaceAvailable_<HOST>_Value

缓存页数目

PS:在 LOCAL 模式下每个页存储为一个文件,当缓存存储在机械磁盘上时须要重点关注。不举荐应用机械磁盘作为 LOCAL 模式缓存存储,举荐应用 SSD 或者 Ramdisk

com_facebook_alluxio_Client_CachePages_<HOST>_Count

想要获取更多乏味有料的【流动信息】【技术文章】【大咖观点】,请关注[[Alluxio 智库]](https://page.ma.scrmtech.com/…):

正文完
 0