当前位置:网站首页>认识一下MRS里的“中间人”Alluxio
认识一下MRS里的“中间人”Alluxio
2022-08-05 17:25:00 【InfoQ】
本文分享自华为云社区《
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. 阿鲁西奥的使用
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集群总体的健康状态
点击关注,第一时间了解华为云新鲜技术~
边栏推荐
- 详解 SSL(一):网址栏的小绿锁有什么意义?
- 面向动态图的极低时延 GNN 在线推理采样服务
- PHP需要掌握的东西
- 软件测试-工作流程(需求分析评审、测试计划、测试用例、用例评审、执行测试、跟踪定位bug、测试报告、缺陷报告)
- From functional testing to mastering automation, how did I go from a point worker to an Internet factory in four months
- 图像处理:坐标变换
- 【云原生Kubernetes系列】KubeSphere容器调度平台
- The Chinese Valentine's Day is coming, it's time to show the romance exclusive to programmers
- 【OAuth2】十四、OAuth2授权端点配置类OAuth2AuthorizationEndpointConfigurer和OAuth2AuthorizationEndpointFilter
- 【OAuth2】十三、OAuth2AuthorizationServerConfigurer的过滤器
猜你喜欢
随机推荐
企业如何用好云原生2.0,释放数字生产力?
用Excel制作条形码
编译器工程师眼中的好代码:Loop Interchange
Ventoy系统启动盘制作
远程小组软件开发过程(2):工具
详解 SSL(一):网址栏的小绿锁有什么意义?
8.lnmp架构
漏洞分析丨HEVD-10.TypeConfusing[win7x86]
生成扩散模型漫谈:DDIM = 高观点DDPM
Why do so many people discourage software testing?Don't click here if the monthly salary is more than 10,000.
AI target segmentation capability for fast video cutout without green screen
Trying to be a better test/dev programmer, "I" broke myself...
With ecological power, openGauss breaks through the performance bottleneck
App与Hap、Entry与feature,bundleName与packge,务必弄明白
如何打造HR无法拒绝的简历?
接口测试关联讲解
【云计算概念】IaaS、PaaS、SaaS、CaaS、MaaS的区别
使用Stream多年,collect还有这些“骚操作”?
js实现下拉菜单 人性化体验
Shell自动化编程初识









