Alluxio是一款基于云原生开源的数据编排技术,为数据计算与数据存储构建了桥梁,支持将数据从原始存储层移动到加速计算的虚拟分布式存储系统。Alluxio可为数据湖计算提供统一的数据湖存储访问入口,支持跨不同类型的底层存储并抽象出统一的数据访问命名空间,提供数据本地性、数据可访问性、数据伸缩性。
为什么做存算分离了,相互影响,独立扩缩容,数据本地性,带宽的高速增长,舍弃本地性,web架构,数据库+web部署在一个节点
Alluxio启动逻辑
Process 定义组件进程的生命周期管理操作
Server 定义服务线程的生命周期操作
Master Server:定义Master组件中封装的各个线程Server服务,包括Block元数据管理,文件系统管理等
五个核心组件
1、AlluxioMasterProcess AlluxioMaster:Main函数入口
Server:
FileSystemMaster DefaultFileSystemMaster 加锁,文件元数据POSIX操作,基于InodeTree维护文件系统结构,并将InodeTree持久化到日志文件(journal),一堆定时任务检查系统的
UfsManager
MountTable(UfsManager,State)
State(Map<String, MountInfo> mMountTable)
InodeTree(BlockMaster,MountTable) 维护一颗内存目录树
BlockMaster DefaultBlockMaster Block和Worker映射元数据的Server服务,block metadata(block块元数据),worker metadata(worker节点元数据):
MetaMaster DefaultMetaMaster
MetricsMaster DefaultMetricsMaster
JournalSystem 维护Maste