Home / 技术调研 / alluxio / alluxio 数据同步问题

alluxio 数据同步问题

命令刷新底层存储的一致性

 

定期UFS元数据同步

不通过alluxio,直接在底层存储中写入的数据,会导致数据不一致。

默认情况下,* Alluxio预期所有对底层文件系统修改都是通过Alluxio 来进行的*。 这样Alluxio只需扫描每个UFS目录一次,从而在UFS元数据操作很慢情况下显著提高性能。 当出现在Alluxio之外对UFS进行更改的情况下, 就需要用元数据同步功能用于同步两个命名空间。

 

如果UFS按计划的间隔更新,可以在更新后手动触发sync命令。 运行以下命令将同步间隔设置为0:

 

其他加载新UFS方法

alluxio.user.file.metadata.load.type:此客户端属性可以设置为 ALWAYSONCENEVER。此属性类似alluxio.user.file.metadata.sync.interval, 但有注意事项:

    • 它只会发现新文件,不会重新加载修改或删除的文件。
    • 它仅适用于existslistgetStatus RPC
    1. ALWAYS 配置意味者总会检查UFS中是否有新文件,
    2. ONCE 将使用默认值 仅扫描每个目录一次,
    3. NEVER 配置下Alluxio根本不会 扫描新文件。

 

alluxio fs ls -f /path:ls-f选项相当于设置 alluxio.user.file.metadata.load.typeALWAYS

它将发现新文件,但 不检测修改或删除的UFS文件。

要检测修改或删除的UFS文件的唯一方法是通过传递 -Dalluxio.user.file.metadata.sync.interval=0选项给ls

 

 

发表评论