分布式内存文件系统Alluxio实战

前言

Alluxio是一个分布式内存文件系统,可以在集群里以访问内存的速度来访问存在Alluxio里的文件。把Alluxio是架构在最底层的分布式文件存储和上层的各种计算框架之间的一种中间件,其前身为Tachyon。

Alluxio起源于Alluxio公司创始人李浩源读博期间在 UC Berkeley AMPLab实验室的博士课题。自从Alluxio的第一个开源版本发布之后,项目发展迅猛。社区贡献者人数已经迅速增加到200多个,这200多人来自50多家公司,其中不乏国际巨头,例如Barclays,IBM,Intel等等。另外更多的公司将Alluxio部署到了自己的生产环境中。

官方网站:http://www.alluxio.org/

规划

master 10.64.8.3

slave  10.64.8.3、10.64.8.4、10.64.8.5

一:安装

slave1、slave2、slave3

(1)安装jdk

$ wget http: //download ..com /otn-pub/java/jdk/8u112-b15/jdk-8u112-linux-x64 . tar .gz
tar  xf jdk-8u112-linux-x64. tar .gz -C  /opt
$ vim  /etc/profile
增加
export  JAVA_HOME= /opt/jdk1 .8.0_112
export  PATH=$PATH:$JAVA_HOME /bin
export  CLASSPATH=$JAVA_HOME /lib/dt .jar:$JAVA_HOME /lib/tools .jar
source  /etc/profile

(2)安装alluxio

cd  opt
$ wget http: //downloads .alluxio.org /downloads/files/1 .3.0 /alluxio-1 .3.0-bin. tar .gz
tar  xf alluxio-1.3.0-bin. tar .gz
cd  alluxio-1.3.0

二:集群配置

  • slave1、slave2、slave3

1:使用conf/alluxio-env.sh.template复制一份配置。

cp  conf /alluxio-env .sh.template conf /alluxio-env .sh
#!/usr/bin/env bash
#alluxio的安装目录
ALLUXIO_HOME= /opt/alluxio-1 .3.0
# Log目录 (默认: ${ALLUXIO_HOME}/logs).
#ALLUXIO_LOGS_DIR=/var/log/alluxio
# master的主机名
ALLUXIO_MASTER_HOSTNAME=slave1
# master节点ip,将在V2版本废弃该配置
# ALLUXIO_MASTER_ADDRESS=10.64.8.3
# worker节点保存in-memory数据的目录 (Default: /mnt/ramdisk).
#ALLUXIO_RAM_FOLDER
# 底层存储系统的地址,默认为本地文件系统 (Default: ${ALLUXIO_HOME}/underFSStorage)
#ALLUXIO_UNDERFS_ADDRESS
# worker节点的内存设置. (Default: 1GB)
ALLUXIO_WORKER_MEMORY_SIZE= 50GB
# 下面jmx的远程调试
# ALLUXIO_JAVA_OPTS
# ALLUXIO_MASTER_JAVA_OPTS
# ALLUXIO_WORKER_JAVA_OPTS
# ALLUXIO_USER_JAVA_OPTS

2:配置worker节点

$ vim conf /workers
10.64.8.3
10.64.8.4
10.64.8.5

三:启动

(1)格式化Alluxio日志和工作程序存储目录。

  • slave1、slave2、slave3

$ . /bin/alluxio  format

(2)启动master节点,使用local参数同时启动master和worker。

  • slave1

$ . /bin/alluxio-start .sh  local

spacer.gifwKioL1hKKNCT9CjCAAA5gF3Os68356.png

(3)启动worker节点

  • slave2、slave3

$ . /bin/alluxio-start .sh worker

wKioL1hKKQLiNKygAAAjy5G2QG4383.png

四:访问

(1)访问的http://localhost:19999看到Alluxio的master

wKiom1hKKRuiflZcAAF9pJpFJBA463.png

(2)能看到所有alluxio中的文件。

wKioL1hKKU-ysJuoAAF90pU2LvU112.png

(3)worker里面能看到所有worker的状态

spacer.gif

(4)访问http://localhost:30000看到当前worker的信息。

spacer.gif

 

五:使用alluxio命令行

(1)查看aullio,默认使用本地地址端口

$ . /bin/alluxio  fs  ls  alluxio: //10 .64.8.3:19999/
$ . /bin/alluxio  fs  ls  /

wKiom1hKKeHARHkuAAAsRuzU08k063.png

(2)从本地文件系统copy文件到alluxio

$ . /bin/alluxio  fs copyFromLocal  /opt/cassandra/conf/  /cassandra
Copied  /opt/cassandra  to  /cassandra

wKiom1hKKe_S8ZCZAAAlMDmfWRs792.png

(3)cat命令可以输出文件内容

$ . /bin/alluxio  fs  cat  /test .txt

wKioL1hKKf_SiPFkAAAffsnzhag757.png

(4)从alluxio拷贝文件到本地

$ . /bin/alluxio  fs copyToLocal  /602 .txt  /tmp/602 .txt
Copied  /602 .txt to  /tmp/602 .txt

wKioL1hKKhGD_cTTAAAwILRWkCQ518.png

(5)将alluxio数据持久化到本地

alluxio的数据是存在内存中的,默认使用本地的文件系统作为底层的系统,可以将alluxio中的数据持久化到本地文件系。路径由ALLUXIO_UNDERFS_ADDRESS指定,默认为./underFSStorage/

$ . /bin/alluxio  fs persist  /cassandra
ls  . /underFSStorage/
cassandra

(6)常见支持的命令,与linux系统命令用法相同。

. /bin/alluxio  fs  cat
. /bin/alluxio  fs  chmod
. /bin/alluxio  fs  chown
. /bin/alluxio  fs  cp
. /bin/alluxio  fs  mv
. /bin/alluxio  fs  rm
. /bin/alluxio  fs  touch
. /bin/alluxio  fs  mkdir 

猜你喜欢

转载自www.linuxidc.com/Linux/2017-03/142139.htm
今日推荐