0. 官方描述
Alluxio 是世界上第一个虚拟的分布式存储系统,以内存速度统一了数据访问。 它为计算框架和存储系统构建了桥梁,使应用程序能够通过一个公共接口连接到许多存储系统。 Alluxio 以内存为中心的架构使得数据的访问速度能比现有方案快几个数量级。
优势
通过简化应用程序访问其数据的方式(无论数据是什么格式或位置),Alluxio 能够帮助克服从数据中提取信息所面临的困难。使用 Alluxio 的优势包括:
内存速度 I/O:Alluxio 能够用作分布式共享缓存服务,这样与 Alluxio 通信的计算应用程序可以透明地缓存频繁访问的数据(尤其是从远程位置),以提供内存级 I/O 吞吐率。
简化云存储和对象存储接入:与传统文件系统相比,云存储系统和对象存储系统使用不同的语义,这些语义对性能的影响也不同于传统文件系统。常见的文件系统操作(如列出目录和重命名)通常会导致显著的性能开销。当访问云存储中的数据时,应用程序没有节点级数据本地性或跨应用程序缓存。将 Alluxio 与云存储或对象存储一起部署可以缓解这些问题,因为这样将从 Alluxio 中检索读取数据,而不是从底层云存储或对象存储中检索读取。
简化数据管理:Alluxio 提供对多数据源的单点访问。除了连接不同类型的数据源之外,Alluxio 还允许用户同时连接到不同版本的同一存储系统,如多个版本的 HDFS,并且无需复杂的系统配置和管理。
应用程序部署简易:Alluxio 管理应用程序和文件或对象存储之间的通信,将应用程序的数据访问请求转换为底层存储接口的请求。Alluxio 与 Hadoop 兼容,现有的数据分析应用程序,如 Spark 和 MapReduce 程序,无需更改任何代码就能在 Alluxio 上运行。
1. 下载压缩包或者自己编译
下载链接:https://www.alluxio.io/download/
解压以后的文件目录:
因为我这里使用alluxio用户去启动alluxio,所以这里修改这个目录的用户和用户组
[alluxio@ip opt]$ chown alluxio -R alluxio-2.0.1
[alluxio@ip opt]$ chgrp supergroup -R alluxio-2.0.1
[alluxio@ip opt]$ chmod 777 -R alluxio-2.0.1
关于编译源码可参考:https://www.jianshu.com/p/38e9c9eec726
2. 修改配置文件
cp conf/alluxio-site.properties.template conf/alluxio-site.properties
vim masters
vim workers
3. 集群
复制文件夹到每台机器
各个机器alluxio用户相互之间免密登陆
4 . 软连接配置
为每个机器设置java软连接
不知道是bug还是什么原因,即使配置好了java环境变量,还是不行,需要在这些目录其中之一配置软连接
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/opt/spark/bin:/opt/spark/sbin:/root/bin
如果配置好了可以忽略,否则:
sudo ln -s /usr/java/jdk1.8.0_181-cloudera/bin/java /usr/bin/java
如果这里没有配置好的话,后面步骤就会出现如下错误
5. 启动 Alluxio
5.1 创建ramdisk文件夹
之前配置的文件夹路径,需要先手动创建出来
5.2 format
./bin/alluxio format
5.3 启动
./bin/alluxio-start.sh all SudoMount
如果是root用户起的,使用Mount,如果是非root用户起的,用SudoMount。第一次需要这样,之后启动直接./bin/alluxio-start.sh all就可以
经过比较长时间的等待,发现有两个worker启动失败了
解决方法是到两台worker节点手动执行:
/bin/alluxio-start.sh -a worker SudoMount
然后回到master节点
./bin/alluxio-stop.sh all
./bin/alluxio-start.sh all
就可以全部正常启动了
原因是在执行脚本的过程中需要sudo权限,配了权限以后,虽然有sudo权限,但是需要输入用户密码,这样的话,在脚本中自动执行的时候就无法输入密码,所以还需要给相关用户增加无密码执行sudo权限,相关配置可以参考:https://www.jianshu.com/p/38c74a7f1473
配置完成后就可以直接/bin/alluxio-start.sh -a worker SudoMount一步启动了。
5.4 查看web端
6. 使用Alluxio
这里可以把它理解问简单的文件系统
操作这个文件系统和hdfs非常相似
./bin/alluxio fs 操作命令
比如:
./bin/alluxio fs mkdir /test
在web端查看: