Alluxio Local Cache 监控指南

0
0
{"value":"> 作者\n张策:Alluxio PMC & 联通大数据工程师\n# 01 什么是 Alluxio Local Cache\n随着云计算在基础设施领域的市场份额持续上升,主流数据分析引擎纷纷选择独立扩展存储、计算来适配云基础设施,并以此为云提供商降低成本。但是,存储计算分离也为查询延迟带来了新的挑战,因为当网络饱和时,通过网络扫描大量数据将受到 IO 限制。此外,元数据也面临远程网络来检索的性能问题。\n\n数据编排系统 Alluxio 预见到了存算分离的发展趋势,并通过分布式缓存服务为 Presto、Spark 等引擎加速查询性能。为了在存算分离架构中实现亚秒级的查询延迟,Alluxio 和 Presto 的核心团队合作实现了客户端嵌入式缓存库 Alluxio Local Cache,来进一步减少数据分析引擎和 Alluxio 之间的通信开销。\n\n**相关博客如下:**\n\nAlluxio Data Caching : [prestodb.io/blog/2020/0](https://prestodb.io/blog/2020/06/16/alluxio-datacaching)\n\nPresto RaptorX : [ https://prestodb.io/blog/2020/0](https://prestodb.io/blog/2020/06/16/alluxio-datacaching)\n\n# 02 Alluxio Local Cache 配置与启用\n2021 年大部分时间 Local Cache 仅支持 Presto Hive Connector,并已经得到大规模应用。社区于2021年底新增了Local Cache 对 Presto Iceberg Connector 的支持,相关内容将在之后的博客做深入介绍。\n\n如何在 Presto on Hive 场景配置、启用 Local Cache:\n\n1. Presto 配置文件:etc/catalog/hive.properties\n\n```\\nhive.node-selection-strategy=SOFT_AFFINITY\\n```\n\n2.修改 Presto 配置文件:etc/catalog/hive.properties,缓存路径推荐配置为 Ramdisk 或 SSD 来达到最佳效果。\n\n```\\ncache.enabled=true\\ncache.base-directory=file:///mnt/flash/data\\ncache.type=ALLUXIO\\ncache.alluxio.max-cache-size=1600GB\\n```\n\n3. 启动 Presto\n\nTips:除数据缓存(Data cache)外,其他缓存功能为实验特性。\n\n# 03 如何监控 Local Cache\n为了提升 Local Cache 的可观测性,我们可以通过 prometheus jmx exporter 将 Worker 的指标暴露出来,使用 prometheus 采集后做进一步分析。\n\n**监控配置与启用**\n\n1.新增jmx_prometheus_config.yaml配置文件\n\n```\\nglobal:\\n scrape_interval: 15s\\n evaluation_interval: 15s\\n```\n\n2.下载jmx_prometheus_javaagent-.jar,简称jmx_prometheus_javaagent.jar\n\n3.presto jvm.config 配置中新增\n\n```\\n-javaagent://jmx_prometheus_javaagent.jar=://jmx_prometheus_config.yaml\\n```\n\n4.重启 Presto\n\n5.访问 http://<presto_worker>:port/ 查询是否配置成功\\n\\n6.将指标接入 prometheus,在 promethues 配置文件中新增\\n\\n```\\nscrape_configs:\\n - job_name: \\"presto_local_cache\\"\\n scrape_interval: 15s\\n static_configs:\\n - targets: [\\":\\"]\\n labels:\\n appname: \\"presto_local_cache\\"\\n```\\n\\n**指标解析**\\n\\nAlluxio Local Cache开放了众多监控指标,以下指标是描述缓存使用情况的基础指标,用户需要重点关注:\\n\\n缓存命中率\\n\\ncom_facebook_alluxio_Client_CacheHitRate_<HOST>_Value\\n![image.png](https://dev-media.amazoncloud.cn/e3019d48df19419ba1164657df2ff1eb_image.png)\\n缓存访问量:\\n\\ncom_facebook_alluxio_Client_CacheBytesReadCache_<HOST>_OneMinuteRate\\ncom_facebook_alluxio_Client_CacheBytesReadCache_<HOST>_FiveMinuteRate\\ncom_facebook_alluxio_Client_CacheBytesReadCache_<HOST>_FifteenMinuteRate\\ncom_facebook_alluxio_Client_CacheBytesReadCache_<HOST>_Count\\n![image.png](https://dev-media.amazoncloud.cn/163f6dacc6944310a1898c59bfd9e0f6_image.png)\\n缓存未命中后,外部系统访问量\\n\\ncom_facebook_alluxio_Client_CacheBytesReadExternal_<HOST>_OneMinuteRate\\ncom_facebook_alluxio_Client_CacheBytesReadExternal_<HOST>_FiveMinuteRate\\ncom_facebook_alluxio_Client_CacheBytesReadExternal_<HOST>_FifteenMinuteRate\\ncom_facebook_alluxio_Client_CacheBytesReadExternal_<HOST>_Count\\n![image.png](https://dev-media.amazoncloud.cn/e1f691f13969405d93b86949b0d83194_image.png)\\n缓存空间使用量\\n\\ncom_facebook_alluxio_Client_CacheSpaceUsed_<HOST>_Number\\n![image.png](https://dev-media.amazoncloud.cn/f89d075bb20a48b38ddc0435a3b35fa6_image.png)\\n缓存空间剩余量\\n\\ncom_facebook_alluxio_Client_CacheSpaceAvailable_<HOST>_Value\\n![image.png](https://dev-media.amazoncloud.cn/2e82c6f1bd44423db40cd58ae7e9f99a_image.png)\\n缓存页数目\\n\\nPS:在LOCAL模式下每个页存储为一个文件,当缓存存储在机械磁盘上时需要重点关注。不推荐使用机械磁盘作为LOCAL模式缓存存储,推荐使用SSD或者Ramdisk\\n\\ncom_facebook_alluxio_Client_CachePages_<HOST>_Count\\n![image.png](https://dev-media.amazoncloud.cn/0dc0f30d0056420bb97c87d742c03a6b_image.png)","render":"<blockquote>\\n<p>作者<br />\\n张策:Alluxio PMC &amp; 联通大数据工程师</p>\n</blockquote>\\n<h1><a id=\\"01__Alluxio_Local_Cache_2\\"></a>01 什么是 Alluxio Local Cache</h1>\\n<p>随着云计算在基础设施领域的市场份额持续上升,主流数据分析引擎纷纷选择独立扩展存储、计算来适配云基础设施,并以此为云提供商降低成本。但是,存储计算分离也为查询延迟带来了新的挑战,因为当网络饱和时,通过网络扫描大量数据将受到 IO 限制。此外,元数据也面临远程网络来检索的性能问题。</p>\n<p>数据编排系统 Alluxio 预见到了存算分离的发展趋势,并通过分布式缓存服务为 Presto、Spark 等引擎加速查询性能。为了在存算分离架构中实现亚秒级的查询延迟,Alluxio 和 Presto 的核心团队合作实现了客户端嵌入式缓存库 Alluxio Local Cache,来进一步减少数据分析引擎和 Alluxio 之间的通信开销。</p>\n<p><strong>相关博客如下:</strong></p>\\n<p>Alluxio Data Caching : <a href=\\"https://prestodb.io/blog/2020/06/16/alluxio-datacaching\\" target=\\"_blank\\">prestodb.io/blog/2020/0</a></p>\\n<p>Presto RaptorX : <a href=\\"https://prestodb.io/blog/2020/06/16/alluxio-datacaching\\" target=\\"_blank\\"> https://prestodb.io/blog/2020/0</a></p>\\n<h1><a id=\\"02_Alluxio_Local_Cache__13\\"></a>02 Alluxio Local Cache 配置与启用</h1>\\n<p>2021 年大部分时间 Local Cache 仅支持 Presto Hive Connector,并已经得到大规模应用。社区于2021年底新增了Local Cache 对 Presto Iceberg Connector 的支持,相关内容将在之后的博客做深入介绍。</p>\n<p>如何在 Presto on Hive 场景配置、启用 Local Cache:</p>\n<ol>\\n<li>Presto 配置文件:etc/catalog/hive.properties</li>\n</ol>\\n<pre><code class=\\"lang-\\">hive.node-selection-strategy=SOFT_AFFINITY\\n</code></pre>\\n<p>2.修改 Presto 配置文件:etc/catalog/hive.properties,缓存路径推荐配置为 Ramdisk 或 SSD 来达到最佳效果。</p>\n<pre><code class=\\"lang-\\">cache.enabled=true\\ncache.base-directory=file:///mnt/flash/data\\ncache.type=ALLUXIO\\ncache.alluxio.max-cache-size=1600GB\\n</code></pre>\\n<ol start=\\"3\\">\\n<li>启动 Presto</li>\n</ol>\\n<p>Tips:除数据缓存(Data cache)外,其他缓存功能为实验特性。</p>\n<h1><a id=\\"03__Local_Cache_37\\"></a>03 如何监控 Local Cache</h1>\\n<p>为了提升 Local Cache 的可观测性,我们可以通过 prometheus jmx exporter 将 Worker 的指标暴露出来,使用 prometheus 采集后做进一步分析。</p>\n<p><strong>监控配置与启用</strong></p>\\n<p>1.新增jmx_prometheus_config.yaml配置文件</p>\n<pre><code class=\\"lang-\\">global:\\n scrape_interval: 15s\\n evaluation_interval: 15s\\n</code></pre>\\n<p>2.下载jmx_prometheus_javaagent-.jar,简称jmx_prometheus_javaagent.jar</p>\n<p>3.presto jvm.config 配置中新增</p>\n<pre><code class=\\"lang-\\">-javaagent://jmx_prometheus_javaagent.jar=://jmx_prometheus_config.yaml\\n</code></pre>\\n<p>4.重启 Presto</p>\n<p>5.访问 http://&lt;presto_worker&gt;:port/ 查询是否配置成功</p>\n<p>6.将指标接入 prometheus,在 promethues 配置文件中新增</p>\n<pre><code class=\\"lang-\\">scrape_configs:\\n - job_name: &quot;presto_local_cache&quot;\\n scrape_interval: 15s\\n static_configs:\\n - targets: [&quot;:&quot;]\\n labels:\\n appname: &quot;presto_local_cache&quot;\\n</code></pre>\\n<p><strong>指标解析</strong></p>\\n<p>Alluxio Local Cache开放了众多监控指标,以下指标是描述缓存使用情况的基础指标,用户需要重点关注:</p>\n<p>缓存命中率</p>\n<p>com_facebook_alluxio_Client_CacheHitRate_&lt;HOST&gt;_Value<br />\\n<img src=\\"https://dev-media.amazoncloud.cn/e3019d48df19419ba1164657df2ff1eb_image.png\\" alt=\\"image.png\\" /><br />\\n缓存访问量:</p>\n<p>com_facebook_alluxio_Client_CacheBytesReadCache_&lt;HOST&gt;<em>OneMinuteRate<br />\\ncom_facebook_alluxio_Client_CacheBytesReadCache</em>&lt;HOST&gt;<em>FiveMinuteRate<br />\\ncom_facebook_alluxio_Client_CacheBytesReadCache</em>&lt;HOST&gt;<em>FifteenMinuteRate<br />\\ncom_facebook_alluxio_Client_CacheBytesReadCache</em>&lt;HOST&gt;_Count<br />\\n<img src=\\"https://dev-media.amazoncloud.cn/163f6dacc6944310a1898c59bfd9e0f6_image.png\\" alt=\\"image.png\\" /><br />\\n缓存未命中后,外部系统访问量</p>\n<p>com_facebook_alluxio_Client_CacheBytesReadExternal_&lt;HOST&gt;<em>OneMinuteRate<br />\\ncom_facebook_alluxio_Client_CacheBytesReadExternal</em>&lt;HOST&gt;<em>FiveMinuteRate<br />\\ncom_facebook_alluxio_Client_CacheBytesReadExternal</em>&lt;HOST&gt;<em>FifteenMinuteRate<br />\\ncom_facebook_alluxio_Client_CacheBytesReadExternal</em>&lt;HOST&gt;_Count<br />\\n<img src=\\"https://dev-media.amazoncloud.cn/e1f691f13969405d93b86949b0d83194_image.png\\" alt=\\"image.png\\" /><br />\\n缓存空间使用量</p>\n<p>com_facebook_alluxio_Client_CacheSpaceUsed_&lt;HOST&gt;_Number<br />\\n<img src=\\"https://dev-media.amazoncloud.cn/f89d075bb20a48b38ddc0435a3b35fa6_image.png\\" alt=\\"image.png\\" /><br />\\n缓存空间剩余量</p>\n<p>com_facebook_alluxio_Client_CacheSpaceAvailable_&lt;HOST&gt;_Value<br />\\n<img src=\\"https://dev-media.amazoncloud.cn/2e82c6f1bd44423db40cd58ae7e9f99a_image.png\\" alt=\\"image.png\\" /><br />\\n缓存页数目</p>\n<p>PS:在LOCAL模式下每个页存储为一个文件,当缓存存储在机械磁盘上时需要重点关注。不推荐使用机械磁盘作为LOCAL模式缓存存储,推荐使用SSD或者Ramdisk</p>\n<p>com_facebook_alluxio_Client_CachePages_&lt;HOST&gt;_Count<br />\\n<img src=\\"https://dev-media.amazoncloud.cn/0dc0f30d0056420bb97c87d742c03a6b_image.png\\" alt=\\"image.png\\" /></p>\n"}
目录
亚马逊云科技解决方案 基于行业客户应用场景及技术领域的解决方案
联系亚马逊云科技专家
亚马逊云科技解决方案
基于行业客户应用场景及技术领域的解决方案
联系专家
0
目录
关闭