摘要:Alluxio在mrs的数据处理生态中处于计算和存储之间,为上层spark、presto、mapredue、hive计算框架提供了数据抽象层,计算框架可以通过统一的客户端api和全局命名空间访问底层的存储系统,并切提供内存级的I/O吞吐率。

本文分享自华为云社区《MRS:Alluxio的使用介绍》,作者: 剑指南天。

1. Alluxio的简介

Alluxio在mrs的数据处理生态中处于计算和存储之间,为上层spark、presto、mapredue、hive计算框架提供了数据抽象层,计算框架可以通过统一的客户端api和全局命名空间访问底层的存储系统,并切提供内存级的I/O吞吐率。

2. Alluxio的架构

Alluxio Master主要负责管理元数据,执行分布式存储元数据操作,Secondary master用户checkpoint日志(journal)和容错

Alluxio Worker负责存储块数据,每个worker管理自己存储的块的元信息,执行底层基于数据的存储操作

Client是应用与Alluxio交互的工具

3. Alluxio的使用

3.1 统一的命名空间和统一的客户端API

Alluxio提供统一的命名空间,用作底层文件存储系统数据的缓存,在不同的UFS实现数据的有效管理。使用透明的挂载,将Alluxio的命名空间和UFS命名空间之间保持一致,通过Alluxio访问UFS中的数据和直接访问UFS的数据,结果是一致的。Alluxio提供了客户端API,可以通过Alluxio实现对不同UFS的访问

3.2 MRS Alluxio配置底层存储系统

3.2.1 根挂载点类型

配置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>/

3.3 通过数据应用访问Alluxio(参考https://support.huaweicloud.com/cmpntguide-mrs/mrs_01_0760.html)

3.4 Alluxio web访问

Mrs Alluxio并没有在manager页面直接提供Alluxio的web访问链接。但是可以参照开源的方案,使用http://{alluxio_master_active_ip}:19999访问web页面。

3.4.1如何确定哪个master节点是active?

登录manager页面,打开Alluxio服务进入master实例查看或者使用客户端命令aluxio fs leader查看。

3.4.2如何访问Alluxio web页面?

可以通过给该节点绑定弹性ip通过公网访问(注意:需要在安全组放开19999端口)。或者通过创建一个windows ECS,打通该节点到这台window ECS的网络,然后通过私有ip访问。

3.5 Alluxio元数据的备份

3.6 Alluxio的常用文件操作和管理员命令

3.6.1 常用文件操作

3.6.2 管理员命令

3.6.2.1 validateEnv工具命令

检查本地环境是否存在导致Alluxio部署的问题

alluxio validateEnv master

alluxio validateEnv worker

alluxio validateEnv all

配置设置完整性检查

alluxio validateConf

3.6.2.2 文件系统管理功能

backup:备份Alluxio元数据,默认根挂载目录的/alluxio_backups路径,也可以指定存储路径。

doctor:检查master和worker配置不一致的地方,需要在服务运行时运行。

getBlockInfo:需要提供block的id,查询块的信息

report:生成一个Alluxio集群总体的健康状态

点击关注,第一时间了解华为云新鲜技术~

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐