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 和全局命名空间。
安装:
下载地址:
https://www.alluxio.io/download/releases/
wget https://downloads.alluxio.io/downloads/files/2.8.1/alluxio-2.8.1-bin.tar.gz
Alluxio 集群安装分为两种,zookeeper 和 raft 两种方式。
Zookeeper 方式,集群master通过zk来选择主节点。
安装说明:
两个master节点,两个work节点。
用hadoop用户启动,每个节点之间ssh免密
####修改配置文件:
1 | su – hadoop |
软连hdfs配置文件
1 | ln -s $HADOOP_CONF_DIR/hdfs-site.xml hdfs-site.xml |
vim master # 写上master 节点的主机名
1 | shining-bigdata00.host.com |
vim workers # 写上 worker 节点的主机名
1 | shining-bigdata02.host.com |
vim alluxio-site.properties # alluxio主配置文件 zookeeper HA 配置文件
1 | #########<-- zookeeper ha ####### |
vim alluxio-site.properties # alluxio主配置文件 RAFT HA 配置文件
1 | ######### <-- raft ha ##### |
根据上面的配置,需要准备的配置:
HDFS 上创建目录:
1 | hdfs dfs -mkdir /alluxio/journal |
同步配置文件
1 | cd /home/hadoop/alluxio-2.8.1 |
启动和停止Alluxio集群:
1 | 启动: |
worker:
1 | alluxio-start.sh worker |
Web UI 访问地址:
http://shining-bigdata00.host.com:19999/overview
HDFS支持Alluxio
修改hdfs配置文件
cd $HADOOP_CONF_DIR
vim core-site.xml
1 | <property> |
添加jar包,将alluxio-client 的jar包放到hdfs的lib加载目录下。
1 | cp /home/hadoop/alluxio-2.8.1/client/alluxio-2.8.1-client.jar /home/hadoop/apache-hadoop/hadoop/share/hadoop/common/lib/ |
重启 hadoop 集群
之后,可以用hdfs命令查看alluxio上文件
1 | hadoop fs -ls alluxio:///ys |
hive 配置alluxio
copy alluxio client jar 包
1 | cp /home/hadoop/alluxio-2.8.1/client/alluxio-2.8.1-client.jar $HIVE_HOME/lib/ |
hive 配置文件中 hive-site.xml 中添加
1 | <!-- |
Hive 客户端和hive meta 都需要添加。
Hive中创建 alluxio 文件系统的表。
Alluxio 官网提供一个测试的hive数据,
可以在 http://grouplens.org/datasets/movielens/
下载数据文件(如:ml-100k.zip)。然后接下该文件,并且将文件u.user上传到Alluxio的ml-100k/下:
1 | ./bin/alluxio fs mkdir /ml-100k |
创建表:
1 | hive> CREATE TABLE u_user ( |
执行查询:
1 | Select * from u_user limit 5; |
常用命令
1 | ./bin/alluxio copyDir conf/ |