天天看点

认识一下MRS里的“中间人”Alluxio

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

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

1. Alluxio的简介

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

2. Alluxio的架构

认识一下MRS里的“中间人”Alluxio

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

认识一下MRS里的“中间人”Alluxio

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

认识一下MRS里的“中间人”Alluxio

Client是应用与Alluxio交互的工具

认识一下MRS里的“中间人”Alluxio

3. Alluxio的使用

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

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

认识一下MRS里的“中间人”Alluxio

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查看。

认识一下MRS里的“中间人”Alluxio
认识一下MRS里的“中间人”Alluxio

3.4.2如何访问Alluxio web页面?

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

认识一下MRS里的“中间人”Alluxio
认识一下MRS里的“中间人”Alluxio

3.5 Alluxio元数据的备份

认识一下MRS里的“中间人”Alluxio

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

3.6.1 常用文件操作

认识一下MRS里的“中间人”Alluxio

3.6.2 管理员命令

3.6.2.1 validateEnv工具命令

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

alluxio validateEnv master

alluxio validateEnv worker

alluxio validateEnv all

配置设置完整性检查

alluxio validateConf

3.6.2.2 文件系统管理功能

认识一下MRS里的“中间人”Alluxio

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

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

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

继续阅读