文档章节

Alluxio+HDFS实战

China_OS
 China_OS
发布于 2017/06/01 18:06
字数 1222
阅读 6425
收藏 1

介绍

    Alluxio(之前名为Tachyon)是世界上第一个以内存为中心的虚拟的分布式存储系统。它统一了数据访问的方式,为上层计算框架和底层存储系统构建了桥梁。应用只需要连接Alluxio即可访问存储在底层任意存储系统中的数据。此外,Alluxio的以内存为中心的架构使得数据的访问速度能比现有常规方案快几个数量级。

    在大数据生态系统中,Alluxio介于计算框架(如Apache Spark,Apache MapReduce,Apache HBase,Apache Hive,Apache Flink)和现有的存储系统(如Amazon S3,OpenStack Swift,GlusterFS,HDFS,MaprFS,Ceph,NFS,OSS)之间。Alluxio为大数据软件栈带来了显著的性能提升。Alluxio与Hadoop是兼容的。现有的数据分析应用,如Spark和MapReduce程序,可以不修改代码直接在Alluxio上运行

    Alluxio是中国人开发的,好处就是中文文档很齐全,方便大家入门,具体科普就不做了,看官方入口

设计

    Alluxio本身就如上面介绍的,支持很多大数据框架,这也正是我们看上的点,我们目前MR、Hive、HBase、Spark、Presto都是我们在使用的,而底层存储HDFS、GlusterFS都是我们在使用的。看起来Alluxio可以对我们的很多应用进行提速。本文以Alluxio+HDFS模式为例讲解Alluxio的部署和使用。

    Alluxio的设计使用了单Master和多Worker的架构。从高层的概念理解,Alluxio可以被分为三个部分,Master,Worker和Client。Master和Worker一起组成了Alluxio的服务端,它们是系统管理员维护和管理的组件。Client通常是应用程序,如Spark或MapReduce作业,或者Alluxio的命令行用户。Alluxio用户一般只与Alluxio的Client组件进行交互。

环境

    既然Alluxio底层的存储打算使用HDFS,我们就把Alluxio部署在Hadoop上吧,Hadoop环境采用之前部署的CDH5.10环境,Hadoop版本为2.6。

Host Alluxio-master Alluxio-worker
hadoop1 *  
hadoop2   *
hadoop3   *
hadoop4   *
hadoop5   *
hadoop6   *

部署

    下载

        直接下载官方预编译好的CDH5的Alluxio版本

wget 'http://downloads.alluxio.org/downloads/files/1.4.0/alluxio-1.4.0-cdh5-bin.tar.gz'

    安装

        alluxio统一部署在/opt/programs/目录下,hadoop1~hadoop6都需要安装。可以先在hadoop1上安装配置,然后把整个安装目录拷贝到hadoop2~hadoop6

cd /opt/programs
tar zxvf alluxio-1.4.0-cdh5-bin.tar.gz

            ps:解压完毕后再当前目录下有一个alluxio-1.4.0目录。

    配置

        alluxio的默认配置文件都在/opt/programs/alluxio-1.4.0/conf下面,具体的配置项可以查看官网

        alluxio-env.sh

            许多常用的Alluxio配置项可以通过环境变量进行配置,但是不建议使用,推荐使用alluxio-site.properties,下面是我的配置。

ALLUXIO_HOME=/opt/programs/alluxio-1.4.0
ALLUXIO_LOGS_DIR=/opt/programs/alluxio-1.4.0/logs
ALLUXIO_MASTER_HOSTNAME=hadoop1
ALLUXIO_RAM_FOLDER=/mnt/ramdisk
ALLUXIO_UNDERFS_ADDRESS=hdfs://dev-dalu:8020/alluxio
ALLUXIO_WORKER_MEMORY_SIZE=2048MB
JAVA_HOME=/opt/programs/jdk1.7.0_67

        alluxio-site.properties

            Alluxio还为用户提供了一种更一般的方式,即通过属性文件来自定义所有支持的配置项。Alluxio服务器以及应用客户端都可以通过alluxio-site.properties文件覆盖默认属性值。下面是我的配置:

alluxio.home=/opt/programs/alluxio-1.4.0
alluxio.work.dir=/opt/programs/alluxio-1.4.0
alluxio.conf.dir=${alluxio.home}/conf
alluxio.logs.dir=${alluxio.home}/logs
alluxio.metrics.conf.file=${alluxio.conf.dir}/metrics.properties
alluxio.master.hostname=hadoop1
alluxio.underfs.address=hdfs://dev-dalu:8020/alluxio
alluxio.underfs.hdfs.configuration=/etc/hadoop/conf/core-site.xml
alluxio.master.bind.host=172.31.217.151
alluxio.master.hostname=hadoop1
alluxio.master.journal.folder=/opt/programs/alluxio-1.4.0/journal
alluxio.master.web.bind.host=172.31.217.151
alluxio.master.web.hostname=hadoop1
alluxio.master.web.port=19999
alluxio.worker.bind.host=0.0.0.0
alluxio.worker.memory.size=2048MB
alluxio.worker.tieredstore.levels=1
alluxio.worker.tieredstore.level0.alias=MEM
alluxio.worker.tieredstore.level0.dirs.path=/mnt/ramdisk

        log4j.properties

            alluxio的日志格式,保持默认即可。

        metrics.properties

            度量指标信息可以让用户深入了解集群上运行的任务。这些信息对于监控和调试是宝贵的资源。度指标量系统可以通过配置文件进行配置,你可以发送HTTP请求”/metrics/json”来获取一个以JSON格式表示的所有已注册度量信息的快照。具体参照:度量指标系统

        workers

            alluxio的worker节点,集群内所有worker节点都需要列出来,我的配置:

hadoop2
hadoop3
hadoop4
hadoop5
hadoop6

        和HDFS存储相关的配置

            因为底层存储使用HDFS,所以需要再alluxio的配置目录引入Hadoop的配置文件

        core-site.xml      

cd /opt/programs/alluxio-1.4.0/conf
ln -s /etc/hadoop/conf/core-site.xml .

        hdfs-site.xml

cd /opt/programs/alluxio-1.4.0/conf
ln -s /etc/hadoop/conf/hdfs-site.xml .

    启动

        格式化

alluxio format

        启动

alluxio-start.sh all NoMount

        也可以单独各个组件

#启动master
alluxio-start.sh master

#启动worker
alluxio-start.sh workers NoMount

WEB

    在浏览器访问172.31.217.151:19999

    首页

    文件页

    节点页

实验

    上传文件到alluxio

alluxio fs copyFromLocal anaconda-ks.cfg /

    alluxio文件固化到HDFS

alluxio fs persist /anaconda-ks.cfg
hadoop fs -ls /alluxio

    释放alluxio的文件

alluxio fs free /anaconda-ks.cfg

    重新加载HDFS文件到alluxio文件

alluxio fs load /anaconda-ks.cfg

    ps:注意free alluxio中的文件,并不会删除底层存储上的文件

    删除alluxio的文件

    ps:注意底层存储系统的文件也会被删除

 

    更多Alluxio CLI参考官方文档

© 著作权归作者所有

上一篇: Hive on Tez
下一篇: kudu python install
China_OS
粉丝 427
博文 463
码字总数 519985
作品 0
静安
技术主管
私信 提问
【视频分享】尚硅谷Java视频教程_RBAC权限实战视频教程

        本视频讲授RBAC权限模型的设计、以及在项目中的应用 。 1. 使用Maven进行项目构建 。 2. 页面设计采用响应式前端框架BootStrap 。 3. 采用多种方式展现用户数据:树形结构(z...

后端编程嘟
2018/05/24
0
0
【转】WF4.0实战系列索引

WF4.0实战系列索引 从WF4.0 betal1出来的时候就开始使用WF4.0,由于资料不多,学习过程也非常艰苦。今年四月份的时候打算写WF4.0实战系列,由于今年是本命年故坚持写了24篇文章。这个系列的文...

夏春涛
2013/08/18
0
0
Spring Boot揭秘与实战

Spring Boot 揭秘与实战(九) 应用监控篇 - HTTP 应用监控 Spring Boot 提供运行时的应用监控和管理功能。本文,我们通过 HTTP 实现对应用的监控和管理。 博客地址:http://blog.720ui.com...

掘金官方
2017/12/11
0
0
A Year Of Books - 2016 Javaer书单

A Year Of Books – 2016 Javaer书单 (PS:欢迎留言推荐,很多来自白衣大哥的推荐) 1. OS & Networking 《编码 : 隐匿在计算机软硬件背后的语言》 《Linux内核设计与实现 第3版》 《WireShark...

泥沙砖瓦浆木匠
2016/04/25
148
2
整理各类IT编程视频教程下载地址(免费分享)

学计算机是个苦B的事情,特别整理了些课程和大家分享 项目管理系统:http://kuai.xunlei.com/d/wtViAgI.2wBlSzlRcf4 自己动手写框架:http://kuai.xunlei.com/d/wtViAgLZ2gAUSTlR375 ASP.NET实...

智齿斗战圣皇
2013/03/25
2.5K
20

没有更多内容

加载失败,请刷新页面

加载更多

只需一步,在Spring Boot中统一Restful API返回值格式与统一处理异常

统一返回值 在前后端分离大行其道的今天,有一个统一的返回值格式不仅能使我们的接口看起来更漂亮,而且还可以使前端可以统一处理很多东西,避免很多问题的产生。 比较通用的返回值格式如下:...

晓月寒丶
今天
59
0
区块链应用到供应链上的好处和实际案例

区块链可以解决供应链中的很多问题,例如记录以及追踪产品。那么使用区块链应用到各产品供应链上到底有什么好处?猎头悬赏平台解优人才网小编给大家做个简单的分享: 使用区块链的最突出的优...

猎头悬赏平台
今天
27
0
全世界到底有多少软件开发人员?

埃文斯数据公司(Evans Data Corporation) 2019 最新的统计数据(原文)显示,2018 年全球共有 2300 万软件开发人员,预计到 2019 年底这个数字将达到 2640万,到 2023 年达到 2770万。 而来自...

红薯
今天
61
0
Go 语言基础—— 通道(channel)

通过通信来共享内存(Java是通过共享内存来通信的) 定义 func service() string {time.Sleep(time.Millisecond * 50)return "Done"}func AsyncService() chan string {retCh := mak......

刘一草
今天
57
0
Apache Flink 零基础入门(一):基础概念解析

Apache Flink 的定义、架构及原理 Apache Flink 是一个分布式大数据处理引擎,可对有限数据流和无限数据流进行有状态或无状态的计算,能够部署在各种集群环境,对各种规模大小的数据进行快速...

Vincent-Duan
今天
59
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部