Alluxio 安装与配置

一、概述

Alluxio, formerly Tachyon, enables any application to interact with any data from any storage system at memory speed.
From http://www.alluxio.org/

Alluxio,原名为 Tachyon,使任何应用以内存级速度进行文件系统上的数据交换。

二、安装与配置

2.1 解压

tar -xzf alluxio-1.4.0-bin.tar.gz
cd alluxio-1.4.0

2.2 配置

从模板文件中创建 conf/alluxio-env.sh ,也可通过命令配置:

./bin/alluxio bootstrapConf localhost

三、运行

3.1 单机启动 Alluxio

3.1.1 格式化

格式化 Alluxio 为启动 Alluxio 做准备。如下命令会格式化Alluxio的日志和worker存储目录,以便接下来启动master和worker。

./bin/alluxio format

3.1.2 本地启动

Alluxio 默认配置成在 localhost 启动 master 和 worker 。使用如下命令在 localhost 启动 Alluxio:

./bin/alluxio-start.sh local

3.1.3 验证启动

http://localhost:19999 --》 查看 Alluxio master 的运行状态
http://localhost:30000 --》 查看 Alluxio worker 的运行状态

或者,在运行命令 jps,查看当前 java 进程中 AlluxioMaster、AlluxioWorker 信息。

3.2 集群运行 Alluxio

3.2.1 集群内节点的配置

为使集群的 master 与 worker 方便沟通,需要对 ssh 进行配置。

首先,在将要运行 master 的节点上通过如下命令生成相应公私钥。

ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
chmod 0600 ~/.ssh/authorized_keys

其次,将此处生成的 authorized_keys 分发到集群的 workers 中,放在 worker的 ~/.ssh/authorized_keys

然后,修改好所有节点的 /etc/hosts 文件,为各个节点取别名,方便沟通。

再者,修改 master 的配置文件 ./conf/alluxio-env.sh ,有三个关键点:

export JAVA_HOME=/usr/lib/jvm/java-7-openjdk-amd64 # java 的安装目录
export ALLUXIO_HOME=/root/alluxio # alluxio 的安装目录
export ALLUXIO_MASTER_HOSTNAME=master # 我的 host 文件中有一条记录,“[master节点的ip] master”记录

随后,修改 master 的配置文件 ./conf/workers :(workers 的别名,需要在 host 文件上配置,才能被解析)
797098-20170217171749832-1701938902.png

最后,将 master 节点上的配置分发到各个 worker 节点上。使用如下命令

./bin/alluxio copyDir

./bin/alluxio copyDir ./conf/workers 即可将该文件分发到各个节点的相同目录下。需要保持一致的文件有:./conf/workers全部配置,./conf/alluxio-env.sh中的部分配置

更一般的,你甚至可以无需在 worker 节点上安装 alluxio ,而是通过 ./bin/alluxio copyDir . ,将本节点上的 alluxio 目录分发到各个节点上。

3.2.2 在集群内运行

上述配置完成后,即可在 master 上通过命令 ./bin/alluxio format./bin/alluxio-start.sh all Mount 在集群内运行 Alluxio。

同样的,你可以通过 jps 去检查运行状态。

  • master 上:出现 proxy、master
  • worker 上:出现 proxy、worker

使用./bin/alluxio-start.sh all 停止运行 Alluxio。

3.2.3 错误

在集群内运行的时候,可能会出现 worker 启动不了的问题。表现为 master 上的 AlluxioMaster、AlluxioProxy 正在运行,且通过 stop 命令无法关闭。

解决:我是通过查找到这两个命令运行的父进程 id ,然后将父进程杀掉,再按 3.2.2 的命令。

3.3 文件系统操作

相关命令见:http://www.alluxio.org/docs/1.4/cn/Command-Line-Interface.html

转载于:https://www.cnblogs.com/neillee/p/6410842.html

源码简介与安装说明: Alluxio(以前称为Tachyon)是一个虚拟的分布式存储系统。它弥合了计算框架和存储系统之间的鸿沟,使计算应用程序可以通过公共接口连接到众多存储系统。Alluxio项目源自加州大学伯克利分校AMPLab的一个名为Tachyon的研究项目,该项目是伯克利数据分析堆栈(BDAS)的数据层。 Alluxio大数据存储系统的功能: 1、灵活的文件API:Alluxio的本地API类似于java.io.File类,提供了 InputStream和OutputStream的接口和对内存映射I/O的高效支持。我们推荐使用这套API以获得Alluxio的完整功能以及最佳性能。 2、兼容Hadoop HDFS的文件系统接口:基于这套接口Hadoop MapReduce和Spark可以使用Alluxio代替HDFS。 3、可插拔的底层存储:Alluxio支持将内存数据持久化到底层存储系统。Alluxio提供了通用接口以简化对接不同的底层存储系统。目前Alluxio支持Microsoft Azure Blob Store,Amazon S3,Google Cloud Storage,OpenStack Swift,GlusterFS, HDFS,MaprFS,Ceph,NFS,Alibaba OSS,Minio以及单节点本地文件系统,后续也会支持更多其他存储系统。 4、Alluxio层级存储:Alluxio可以管理内存和本地存储如SSD和HDD,以加速数据访问。如果需要更细粒度的控制,分层存储功能可以用于自动化管理不同层之间的数据,确保热数据在更快的存储层上。自定义策略可以方便地应用到Alluxio,而且pin(钉住)的概念允许用户显式地控制数据的存放位置。 5、统一命名空间:Alluxio可以通过挂载功能实现不同存储系统之间的高效数据管理。并且,透明命名机制在持久化存储对象到底层存储系统时可以保留存储对象的文件名和目录层次结构。 6、Web UI:用户可以通过Web UI浏览文件系统。在调试模式下,管理员还可以查看每一个文件的详细信息,包括存放位置,检查点路径等。 7、命令行:用户也可以通过./bin/alluxio fs与Alluxio交互,例如:实现将数据从文件系统拷入拷出。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值