【大数据】Alluxio-2.6.0安装

36 篇文章 5 订阅
16 篇文章 0 订阅

简介

什么是Alluxio

Alluxio 是世界上第一个面向基于云的数据分析和人工智能的开源的数据编排技术。 它为数据驱动型应用和存储系统构建了桥梁, 将数据从存储层移动到距离数据驱动型应用更近的位置从而能够更容易被访问。 这还使得应用程序能够通过一个公共接口连接到许多存储系统。 Alluxio内存至上的层次化架构使得数据的访问速度能比现有方案快几个数量级。

在大数据生态系统中,Alluxio 位于数据驱动框架或应用(如 Apache Spark、Presto、Tensorflow、Apache HBase、Apache Hive 或 Apache Flink)和各种持久化存储系统(如 Amazon S3、Google Cloud Storage、OpenStack Swift、HDFS、GlusterFS、IBM Cleversafe、EMC ECS、Ceph、NFS 、Minio和 Alibaba OSS)之间。 Alluxio 统一了存储在这些不同存储系统中的数据,为其上层数据驱动型应用提供统一的客户端 API 和全局命名空间。

优势

  • 内存速度 I/O:Alluxio 能够用作分布式共享缓存服务,这样与 Alluxio 通信的计算应用程序可以透明地缓存频繁访问的数据(尤其是从远程位置),以提供内存级 I/O 吞吐率。此外,Alluxio的层次化存储机制能够充分利用内存、固态硬盘或者磁盘,降低具有弹性扩张特性的数据驱动型应用的成本开销。
  • 简化云存储和对象存储接入:与传统文件系统相比,云存储系统和对象存储系统使用不同的语义,这些语义对性能的影响也不同于传统文件系统。在云存储和对象存储系统上进行常见的文件系统操作(如列出目录和重命名)通常会导致显著的性能开销。当访问云存储中的数据时,应用程序没有节点级数据本地性或跨应用程序缓存。将 Alluxio 与云存储或对象存储一起部署可以缓解这些问题,因为这样将从 Alluxio 中检索读取数据,而不是从底层云存储或对象存储中检索读取。
  • 简化数据管理:Alluxio 提供对多数据源的单点访问。除了连接不同类型的数据源之外,Alluxio 还允许用户同时连接同一存储系统的不同版本,如多个版本的 HDFS,并且无需复杂的系统配置和管理。
  • 应用程序部署简易:Alluxio 管理应用程序和文件或对象存储之间的通信,将应用程序的数据访问请求转换为底层存储接口的请求。Alluxio 与 Hadoop 生态系统兼容,现有的数据分析应用程序,如 Spark 和 MapReduce 程序,无需更改任何代码就能在 Alluxio 上运行。

技术特性

  • 全局命名空间:Alluxio 能够对多个独立存储系统提供单点访问,无论这些存储系统的物理位置在何处。这提供了所有数据源的统一视图和应用程序的标准接口。
  • 智能多层级缓存:Alluxio 集群能够充当底层存储系统中数据的读写缓存。可配置自动优化数据放置策略,以实现跨内存和磁盘(SSD/HDD)的性能和可靠性。缓存对用户是透明的,使用缓冲来保持与持久存储的一致性。
  • 服务器端 API 翻译转换:Alluxio支持工业界场景的API接口,例如HDFS API, S3 API, FUSE API, REST API。它能够透明地从标准客户端接口转换到任何存储接口。Alluxio 负责管理应用程序和文件或对象存储之间的通信,从而消除了对复杂系统进行配置和管理的需求。文件数据可以看起来像对象数据,反之亦然。

架构

在这里插入图片描述

集群部署

前置工作

  • Alluxio官网 下载安装包
  • 集群主机配置免密
  • 集群主机开放 RPC 端口 (默认:19998)
  • 添加alluxio用户,并赋予sudo权限

下载

wget https://downloads.alluxio.io/downloads/files/2.6.0/alluxio-2.6.0-bin.tar.gz

机器列表

hostnamealluxio-masteralluxio-worker
abc-1*
abc-2*
abc-3*

解压 放到 /data

tar -xvzf alluxio-2.6.0-bin.tar.gz
mv alluxio-2.6.0-bin/ /data/alluxio-2.6.0/
mkdir /data/alluxio-2.6.0/ramdisk

修改配置项

  • alluxio-env.sh
  • alluxio-site.properties
  • master
  • workers
alluxio-env.sh
export JAVA_HOME=/data/jdk1.8.0_144
export ALLUXIO_MASTER_HOSTNAME=abc-1
export ALLUXIO_WORKER_MEMORY_SIZE=8G
alluxio-site.properties
alluxio.master.hostname=abc-1
alluxio.underfs.address=${alluxio.work.dir}/underFSStorage

alluxio.security.authorization.permission.enabled=true
alluxio.security.authentication.type=SIMPLE

alluxio.worker.memory.size=8g
alluxio.worker.tieredstore.levels=1
alluxio.worker.tieredstore.level0.alias=MEM
alluxio.worker.tieredstore.level0.dirs.path=/data/alluxio-2.6.0/ramdisk

alluxio.user.file.readtype.default=CACHE_PROMOTE
alluxio.user.file.writetype.default=MUST_CACHE
master
abc-1
workers
abc-2
abc-3

同步服务

scp -r alluxio-2.6.0 abc-2:/data/
scp -r alluxio-2.6.0 abc-3:/data/

启动

# 同步配置
./bin/alluxio copyDir <dirname>

# 格式化(第一次)
sudo ./bin/alluxio format

# 启动服务
sudo ./bin/alluxio-start.sh all Mount

如果是root用户起的,使用Mount,如果是非root用户起的,用SudoMount。第一次需要这样,之后启动直接./bin/alluxio-start.sh all就可以

单独启动服务

# worker上
/bin/alluxio-start.sh -a worker SudoMount

# master上
./bin/alluxio-start.sh all

停止

./bin/alluxio-stop.sh all

on hadoop 配置

alluxio-site.properties

alluxio.underfs.address=hdfs://abc-1:9000/alluxio
alluxio.underfs.hdfs.configuration=/data/hadoop-3.3.0/etc/hadoop/core-site.xml

配置好后,重新format,启动

bin/alluxio format

alluxio-start.sh all NoMount

#启动master
alluxio-start.sh master
 
#启动worker
alluxio-start.sh workers NoMount

使用

# 文件上传
alluxio fs copyFromLocal aaa.txt /


# alluxio文件固化到HDFS
alluxio fs persist /aaa.txt
hadoop fs -ls /alluxio

# 释放alluxio的文件
alluxio fs free /aaa.txt


# 重新加载HDFS文件到alluxio文件
alluxio fs load /aaa.txt

# 删除 alluxio的文件
# 注意底层存储系统的文件也会被删除
alluxio fs rm /aaa.txt
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

笑起来贼好看

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值