当前位置:网站首页>MRS: Alluxio的使用介绍
MRS: Alluxio的使用介绍
2022-08-04 02:56:00 【华为云】
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集群总体的健康状态
边栏推荐
- sqoop ETL tool
- 【翻译】Terraform和Kubernetes的交集
- 倒计时2天,“文化数字化战略新型基础设施暨文化艺术链生态建设发布会”启幕在即
- DIY电工维修如何拆卸和安装开关面板插座
- QNX Hypervisor 2.2用户手册]10.1 通用vdev选项
- Mini program + new retail, play the new way of playing in the industry!
- Homemade bluetooth mobile app to control stm8/stm32/C51 onboard LED
- FileNotFoundException: This file can not be opened as a file descriptor; it is probably compressed
- 多线程间的通信方式你知道几种?
- 第13章 网络安全漏洞防护技术原理与应用
猜你喜欢
随机推荐
Deep Learning (3) Classification Theory Part
参加Oracle OCP和MySQL OCP考试的学员怎样在VUE预约考试
STM8S-----option byte
Detailed analysis of scaffolding content
【项目实现】Boost搜索引擎
web端动效 lottie-web 使用
Parquet encoding
怎样提高网络数据安全性
Example 039: Inserting elements into an ordered list
MySQL高级-读写分离-分库分表
Presto中broadcast join和partition join执行计划的处理过程
sql有关问题,小时粒度,找到前一个小时内的数据
There are too many systems, how to realize multi-account interworking?
tkmapper的crud示例:
db2中kettle报错 Field [XXX] is required and couldn‘t be found 解决方法
Big guys, it takes a long time to read mysql3 million single tables, what parameters can be discounted, or is there any way to hurry up
倒计时2天,“文化数字化战略新型基础设施暨文化艺术链生态建设发布会”启幕在即
Good bosses, please ask the flink CDC oracle to Doris, found that the CPU is unusual, a run down
P3384 【模板】轻重链剖分/树链剖分
Example 037: Sorting









