Alluxio FUSE 服务
通过提供 Unix/Linux 下的标准 POSIX 文件系统接口,让应用程序(比如Tensorflow,PyTorch等)在不修改代码的前提下,以访问本地文件系统的方式访问 Alluxio 分布式文件系统中的 数据
AlluxioFuseAlluxio FUSE 就是一个实现了用户态文件系统的挂载操作(mount),以及VFS调用方法的具体实现
比如 一个应用程序 mkdir
- 调用 syc_mkdir 想要在 FUSE 挂载点之下创建文件夹时,
- 内核态VFS发现这个挂载点对应的是 FUSE 类型,
则构造一个 FUSE_MKDIR 的 fuse_req,投递到 pending 队列里。 - libfuse启动的读取到fuse设备的请求后,会执行fuse_lib_mkdir操作,
这个操作会回调到mount时给定的回调函数里, - 再由 JNI-FUSE 转而回调到 AlluxioJNIFuseFilesystem 中的mkdir方法,
- 最后,mkdir方法体中会通知 Alluxio 的 master 创建文件夹,
- 当完成操作后,会回复 ok 给 fuse 设备,
- 这样fuse_mkdir则会返回给调用者,文件夹创建成功
网友评论