认识一下MRS里的“中间人”Alluxio
摘要:Alluxio在mrs的数据处理生态中处于计算和存储之间,为上层spark、presto、mapredue、hive计算框架提供了数据抽象层,计算框架可以通过统一的客户端api和全局命名空间访问底层的存储系统,并切提供内存级的I/O吞吐率。
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集群总体的健康状态
认识一下MRS里的“中间人”Alluxio的更多相关文章
- 中间人攻击 -- Cookie 喷发
0x00 前言 分享个中间人攻击姿势,屡试不爽. 原本是篇老文,不过写的太啰嗦.今天用简明的文字,重新讲一遍. 0x01 原理 传统 cookie 嗅探,只能获得用户主动访问的站点.不访问就抓不到,效 ...
- 中间人攻击(MITM)姿势总结
相关学习资料 http://www.cnblogs.com/LittleHann/p/3733469.html http://www.cnblogs.com/LittleHann/p/3738141. ...
- 嗅探、中间人sql注入、反编译--例说桌面软件安全性问题
嗅探.中间人sql注入.反编译--例说桌面软件安全性问题 今天这篇文章不准备讲太多理论,讲我最近遇到的一个案例.从技术上讲,这个例子没什么高深的,还有一点狗屎运的成分,但是它又足够典型,典型到我可以讲 ...
- Alluxio 1.5集群搭建
一.依赖文件安装 1.1 JDK 参见博文:http://www.cnblogs.com/liugh/p/6623530.html 二.文件准备 2.1 文件名称 alluxio-1.5.0-hado ...
- 一步步学习操作系统(1)——参照ucos,在STM32上实现一个简单的多任务(“啰里啰嗦版”)
该篇为“啰里啰嗦版”,另有相应的“精简版”供参考 “不到长城非好汉:不做OS,枉为程序员” OS之于程序员,如同梵蒂冈之于天主教徒,那永远都是块神圣的领土.若今生不能亲历之,实乃憾事! 但是,圣域不是 ...
- Angular组件——中间人模式
设计一个组件时,组件应该是内聚的,应该不依赖外部已经存在的组件,要实现这种松耦合的组件要使用中间人模式. 一.中间人模式 该组件树中除了组件1以外,每个组件都有一个父组件可以扮演中间人的角色.顶级的中 ...
- HTTPS中间人攻击实践(原理·实践)
前言 很早以前看过HTTPS的介绍,并了解过TLS的相关细节,也相信使用HTTPS是相对安全可靠的.直到前段时间在验证https代理通道连接时,搭建了MITM环境,才发现事实并不是我想的那样.由于 ...
- 中间人攻击——ARP欺骗的原理、实战及防御
1.1 什么是网关 首先来简单解释一下什么是网关,网关工作在OSI七层模型中的传输层或者应用层,用于高层协议的不同网络之间的连接,简单地说,网关就好比是一个房间通向另一个房间的一扇门. 1.2 A ...
- 如何利用 LTE/4G 伪基站+GSM 中间人攻击攻破所有短信验证
这次公开课请来的嘉宾对自己的简介是: 连续创业失败的创业导师:伪天使投资人:某非知名私立大学创办人兼校长:业余时间在本校通信安全实验室打杂. 自从他在黑客大会上演讲<伪基站高级利用技术——彻底攻 ...
- ettercap中间人攻击--参数介绍
攻击和嗅探 -M, --mitm ARP欺骗,参数 -M arp remote # 双向模式,同时欺骗通信双方,-M arp:remote. oneway #单向模式,只arp欺骗第一个 ...
随机推荐
- go语言reflection反射
一.反射 1.1简介 Reflection(反射)在计算机中就是表示程序在运行期间能够探知自身结构的能力类型(类型信息.内存结构.更新变量.以及调用方法) 1.2使用场景 函数的参数类型是interf ...
- websocket和ajax的区别(和http的区别)
websocket和ajax的区别(和http的区别) https://segmentfault.com/a/1190000021741131 1. 本质不同 ajax,即异步JavaScript和X ...
- React学习笔记16-属性props
1.属性的定义 props 是正常是外部传入的,组件内部也可以通过一些方式来初始化的设置,属性不能被组件自己更 改,但是你可以通过父组件主动重新渲染的方式来传入新的 props. 这就是React中的 ...
- STL unordered类容器浅谈
一个代码: #include<cstdio> #include<vector> #include<functional> #include<algorithm ...
- CF510B Fox And Two Dots
题目大意 矩阵中各个方格都有颜色,判断是否有相同颜色的方块可以组成环.(原题链接:CF510B Fox And Two Dots) 输入: 第一行:\(n\), \(m\),表示矩阵的行和列 接下来\ ...
- UIPath流程控制
应当仔细地观察,为的是理解:应当努力地理解,为的是行动. UIPath程序中流程控制主要包括条件语句.循环语句以及中断语句.下面我们一一学习这些语句在RPA流程设计中的使用. 1. 条件判断 if ...
- 基于Python下MySQL数据库驱动
由于MySQL服务器以独立的进程运行,并通过网络对外服务,所以,需要支持Python的MySQL驱动来连接到MySQL服务器. 1.mysql-connector-python mysql-con ...
- Windows10+Python+Yolov8+ONNX图片缺陷识别,并在原图中标记缺陷,有onnx模型则无需配置,无需训练。
目录 一.训练自己数据集的YOLOv8模型 1.博主电脑配置 2.深度学习GPU环境配置 3.yolov8深度学习环境准备 4.准备数据集 二.Python+Onnx模型进行图像缺陷检测,并在原图中标 ...
- Codeforces Round 903 (Div. 3)
Codeforces Round 903 (Div. 3) A. Don't Try to Count 大概题意给你两个字符串a,b.a串可进行的操作为将整个a串复制到之前的a串后面(直接用a+a即可 ...
- 可视化学习:WebGL的基础使用
引言 继续复习可视化的学习.WebGL和其他Web端的图形系统存在很大的不同,是OpenGL ES规范在浏览器的实现,它最大的不同就在于它更接近底层,可以由开发者直接操作GPU来实现绘图,性能很好,可 ...