摘要:Alluxio在mrs的数据处理生态中处于计算和存储之间,为上层spark、presto、mapredue、hive计算框架提供了数据抽象层,计算框架可以通过统一的客户端api和全局命名空间访问底层的存储系统,并切提供内存级的I/O吞吐率。本文分享自华为云社区《MRS:Alluxio的使用介绍》,作者: 剑指南天。
Alluxio在mrs的数据处理生态中处于计算和存储之间,为上层spark、presto、mapredue、hive计算框架提供了数据抽象层,计算框架可以通过统一的客户端api和全局命名空间访问底层的存储系统,并切提供内存级的I/O吞吐率。
Alluxio Master主要负责管理元数据,执行分布式存储元数据操作,Secondary master用户checkpoint日志(journal)和容错
Alluxio Worker负责存储块数据,每个worker管理自己存储的块的元信息,执行底层基于数据的存储操作
Client是应用与Alluxio交互的工具
Alluxio提供统一的命名空间,用作底层文件存储系统数据的缓存,在不同的UFS实现数据的有效管理。使用透明的挂载,将Alluxio的命名空间和UFS命名空间之间保持一致,通过Alluxio访问UFS中的数据和直接访问UFS的数据,结果是一致的。Alluxio提供了客户端API,可以通过Alluxio实现对不同UFS的访问
配置HDFS作为Alluxio的底层文件系统(开启Kerberos认证的安全集群不支持该功能)。登录mrs manager页面,进入Alluxio的“全部配置”页面。修改参数“alluxio.master.mount.table.root.ufs”的值为“hdfs://hacluster/XXX/”。然后保存配置,然后重启配置过期的服务。
配置OBS作为Alluxio的底层文件系统。首先给集群配置有OBS OperateAccess权限的委托,用于访问obs。登录mrs manager页面,进入Alluxio的“全部配置”页面。修改参数“alluxio.master.mount.table.root.ufs”的值为“obs://<OBS_BUCKET>/<OBS_DIRECTORY>/”。然后保存配置,然后重启配置过期的服务。
根挂载只有一个,并且只能在启动服务前配置。
内嵌挂载点可以在Alluxio根目录下的任何目录,可以在服务启动之后,通过客户端命令挂载,可以有多个挂载点。
MRS集群创建后,默认的底层存储地址是hdfs://hacluster/,即将HDFS的根目录映射到Alluxio。首先给集群配置有OBS OperateAccess权限的委托,用于访问obs。使用Alluxio客户端执行如下命令,将OBS容器内部的目录挂载到Alluxio的/obs目录。
alluxio fs mount /obs obs://<OBS_BUCKET>/<OBS_DIRECTORY>/
Mrs Alluxio并没有在manager页面直接提供Alluxio的web访问链接。但是可以参照开源的方案,使用http://{alluxio_master_active_ip}:19999访问web页面。
登录manager页面,打开Alluxio服务进入master实例查看或者使用客户端命令aluxio fs leader查看。
可以通过给该节点绑定弹性ip通过公网访问(注意:需要在安全组放开19999端口)。或者通过创建一个windows ECS,打通该节点到这台window ECS的网络,然后通过私有ip访问。
检查本地环境是否存在导致Alluxio部署的问题
alluxio validateEnv master
alluxio validateEnv worker
alluxio validateEnv all
配置设置完整性检查
alluxio validateConf
backup:备份Alluxio元数据,默认根挂载目录的/alluxio_backups路径,也可以指定存储路径。
doctor:检查master和worker配置不一致的地方,需要在服务运行时运行。
getBlockInfo:需要提供block的id,查询块的信息
report:生成一个Alluxio集群总体的健康状态
点击关注,第一时间了解华为云新鲜技术~