alluxio短路读

恩慈1年前技术文章1252

原理

当Client和Worker在同一节点时,客户端对本地缓存数据的读写请求可以绕过RPC接口,使本地文件系统可以直接访问Worker所管理的数据,这种情况被称为短路写,速度比较快,如果该节点没有Worker在运行,则Client的读写需要通过网络访问其他节点上的Worker,速度受网络宽带的限制。

当应用程序需要读取的数据已经被缓存在本地Alluxio worker上时,即为本地缓存命中。应用程序通过Alluxio client请求数据访问后,Alluxio client会向 Alluxio master检索储存该数据的Alluxio worker位置。如果本地Alluxio worker存有该数据,Alluxio client将使用”短路读”绕过Alluxio worker,直接通过本地文件系统读取文件。短路读可避免通过TCP socket传输数据,并能提供内存级别的数据访问速度。短路读是从Alluxio读取数据最快的方式。
在默认情况下,短路读需要获得相应的本地文件系统操作权限。当Alluxio worker和client是在容器化的环境中运行时,可能会由于不正确的资源信息统计而无法实现短路读。在基于文件系统的短路读不可行的情况下,Alluxio可以基于domain socket的方式实现短路读,这时,Alluxio worker将通过预先指定的domain socket路径将数据传输到client

image.png

配置

  • 写参数: alluxio.user.file.writetype.default

  1. CACHE_THROUGH:数据被同步写入AlluxioWorker和底层存储

  2. MUST_CACHE:数据被同步写入AlluxioWorker,不写底层存储

  3. THROUGH:数据只写底层存储,不写入AlluxioWorker

  4. ASYNC_THROUGH:数据同步写入AlluxioWorker并异步写底层存储(速度快)

  • 读参数: alluxio.user.file.readtype.default

    1. CACHE_PROMOTE:数据在Worker上,则被移动到Worker的最高层,否则创建副本到本地Worker

    2. CACHE:数据不在本地Worker中时直接创建副本到本地Worker

    3. NO_CACHE:仅读数据,不写副本到Worker

    相关文章

    Hadoop3.2.4纠删码介绍(一)

    Hadoop3.2.4纠删码介绍(一)

    1、介绍纠删码是Hadoop3新加入的功能,之前的HDFS都是采用副本方式容错,默认情况下,一个文件有3个副本,可以容忍任意2个副本(DataNode)不可用,这样提高了数据的可用性,但也带来了2倍的...

    SQL Server优化入门系列(二)—— 等待事件

    SQL Server优化入门系列(二)—— 等待事件

    在上一篇文章中(SQL Server优化入门系列(一)——快速定位阻塞SQL),我们介绍了如何快速定位SQL Server中当前正在执行的SQL,以及被阻塞的SQL。这里,我们将介绍如何通过等待事件来...

    Python Web 自动化测试工具 — Selenium

    Selenium 是一个 Web 自动化测试工具,Selenium 通过非常简洁方便的 API,使用 Selenium WebDrivers(Selenium web 驱动器)像使用 Firefox,...

    CDP实操--配置RangerKMS 并基于Navigator Trustee Server存储KMS密钥

    CDP实操--配置RangerKMS 并基于Navigator Trustee Server存储KMS密钥

    1.1添加用于部署KMS的服务器到集群从集群host页面里添加两台服务器用于部署rangerkms选择kms-1和kms-2两台服务器等待parcel分发到新加服务器上并自动完成激活 等待host i...

    shell脚本--sed

    sed后面接的动作,务必以 '........'两个单引号包住1.擅长对文件进行操作处理2.对文件信息进行内容的信息修改-i 参数代表直接修改原文件a :往后新增一行, a 的后面可以接字串,而这些字...

    Yarn调度器和调度算法详解

    Yarn调度器和调度算法详解

    目前,Hadoop作业调度器主要有三种:FIFO、容量(Capacity Scheduler)和公平(Fair Scheduler)。Apache Hadoop3.1.3默认的资源调度器是C...

    发表评论    

    ◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。