Alluxio
ProductsLanguageHome
  • Alluxio概览
  • 用户指南
    • 快速上手指南
    • 架构
    • FAQ
    • 作业服务器
    • 应用场景
  • 核心功能
    • 缓存
    • 统一命名空间
  • 部署 Alluxio
    • 在Kubernetes上部署Alluxio
    • 本地运行Alluxio
    • 在集群上独立运行Alluxio
    • 在Docker上运行Alluxio
    • 在具有HA的群集上部署Alluxio
    • 使用Docker部署AlluxioFuse加速深度学习训练(试验)
    • 基本要求
  • 云源生
    • Tencent EMR
  • 计算应用
    • Apache Spark
    • Presto
    • Spark on Kubernetes
    • Apache Flink
    • Apache Hadoop MapReduce
    • Presto on Iceberg (Experimental)
    • Trino
    • Apache Hive
    • 深度学习框架
    • Tensorflow
  • 底层存储系统
    • Alluxio集成Amazon AWS S3作为底层存储
    • Alluxio集成GCS作为底层存储
    • Alluxio集成Azure Blob Store作为底层存储
    • Azure Data Lake Storage Gen2
    • Azure 数据湖存储
    • Alluxio集成HDFS作为底层存储
    • Alluxio集成COS作为底层存储
    • Alluxio集成COSN作为底层存储
    • Alluxio集成Ceph Object Storage作为底层存储
    • Alluxio集成NFS作为底层存储
    • Alluxio集成Kodo作为底层存储
    • Alluxio集成Swift作为底层存储
    • Alluxio集成WEB作为底层存储
    • Alluxio集成Minio作为底层存储
    • 阿里云对象存储服务
    • Alluxio集成Ozone作为底层存储
    • Alluxio集成CephFS作为底层存储
  • 安全设置
    • 安全性
  • 运维指南
    • 配置项设置
    • 命令行接口
    • 管理员命令行接口
    • Web界面
    • 日志
    • 度量指标系统
    • 远程记录日志
  • 管理
    • 升级
    • 异常诊断与调试
  • APIs
    • Filesystem API
    • S3 Client
    • POSIX API
    • REST API
    • Python Client
    • 兼容Hadoop的Java
    • Go 客户端
  • 开发者资源
    • 编译Alluxio源代码
    • 开发指南
    • 代码规范
    • 如何开发单元测试
    • 文档规范
  • 参考
    • 配置项列表
    • List of Metrics
  • REST API
    • Master REST API
    • Worker REST API
    • Proxy REST API
    • Job REST API
  • Javadoc
Powered by GitBook
On this page
  • 初始步骤
  • 配置Alluxio
  • 使用CephFS本地运行Alluxio
  1. 底层存储系统

Alluxio集成CephFS作为底层存储

Last updated 6 months ago

该指南介绍如何配置Alluxio以使用CephFS作为底层文件系统。Alluxio使用 目前,支持两种不同类型的UFS CephFS:

初始步骤

首先,在你的机器上必须安装Alluxio二进制包。你可以自己,或者

其次,在你的机器上需要安装以下包:

cephfs-java
libcephfs_jni
libcephfs2

以上,包的安装请参考,

再次,建立软连:

$ ln -s /usr/lib64/libcephfs_jni.so.1.0.0 /usr/lib64/libcephfs_jni.so
$ ln -s /usr/lib64/libcephfs.so.2.0.0 /usr/lib64/libcephfs.so
$ java_path=`which java | xargs readlink | sed 's#/bin/java/##g'`
$ ln -s /usr/share/java/libcephfs.jar $java_path/jre/lib/ext/libcephfs.jar

最后,下载CephFS Hadoop jar包:

$ curl -o $java_path/jre/lib/ext/hadoop-cephfs.jar -d https://download.ceph.com/tarballs/hadoop-cephfs.jar

配置Alluxio

为了配置Alluxio以使用底层文件系统,需要修改alluxio-site.properties和core-site.xml文件。如果文件不存在,根据模板创建配置文件。

$ cp conf/alluxio-site.properties.template conf/alluxio-site.properties
$ cp conf/core-site.xml.template conf/core-site.xml
cephfs

向conf/alluxio-site.properties文件添加以下代码:

alluxio.underfs.cephfs.conf.file=<ceph-conf-file>
alluxio.underfs.cephfs.mds.namespace=<ceph-fs-name>
alluxio.underfs.cephfs.mount.point=<ceph-fs-dir>
alluxio.underfs.cephfs.auth.id=<client-id>
alluxio.underfs.cephfs.auth.keyring=<client-keyring-file>
cephfs-hadoop

向conf/alluxio-site.properties文件添加以下代码:

alluxio.underfs.hdfs.configuration=${ALLUXIO_HOME}/conf/core-site.xml

向conf/core-site.xml文件添加以下代码:

<configuration>
  <property>
    <name>fs.default.name</name>
    <value>ceph://mon1,mon2,mon3/</value>
  </property>
  <property>
    <name>fs.defaultFS</name>
    <value>ceph://mon1,mon2,mon3/</value>
  </property>
  <property>
    <name>ceph.data.pools</name>
    <value>${data-pools}</value>
  </property>
  <property>
    <name>ceph.auth.id</name>
    <value>${client-id}</value>
  </property>
  <property>
    <name>ceph.conf.options</name>
    <value>client_mount_gid=${gid},client_mount_uid=${uid},client_mds_namespace=${ceph-fs-name}</value>
  </property>
  <property>
    <name>ceph.root.dir</name>
    <value>${ceph-fs-dir}</value>
  </property>
  <property>
    <name>ceph.mon.address</name>
    <value>mon1,mon2,mon3</value>
  </property>
  <property>
    <name>fs.AbstractFileSystem.ceph.impl</name>
    <value>org.apache.hadoop.fs.ceph.CephFs</value>
  </property>
  <property>
    <name>fs.ceph.impl</name>
    <value>org.apache.hadoop.fs.ceph.CephFileSystem</value>
  </property>
  <property>
    <name>ceph.auth.keyring</name>
    <value>${client-keyring-file}</value>
  </property>
</configuration>

使用CephFS本地运行Alluxio

完成所有的配置之后,你可以本地运行Alluxio,观察是否一切运行正常。

./bin/alluxio format
./bin/alluxio-start.sh local
cephfs
./bin/alluxio fs mkdir /mnt/cephfs
./bin/alluxio fs mount /mnt/cephfs cephfs://mon1\;mon2\;mon3/

接着,你可以运行一个简单的示例程序:

./bin/alluxio runTests --path cephfs://mon1\;mon2\;mon3/
cephfs-hadoop
./bin/alluxio fs mkdir /cephfs-hadoop
./bin/alluxio fs mount /cephfs-hadoop ceph://mon1\;mon2\;mon3/

接着,你可以运行一个简单的示例程序:

./bin/alluxio runTests --path ceph://mon1\;mon2\;mon3/

该命令应当会启动一个Alluxio master和一个Alluxio worker,可以在浏览器中访问查看master Web UI。

运行成功后,访问你的alluxio /mnt/cephfs 和 cephfs 目录,确认其中包含了由Alluxio创建的文件和目录default_tests_files/Basic_CACHE_THROUGH _。 前者,通过Alluxio的可被访问; 后者,通过ceph-fuse或mount的方式使用POSIX APIs可被访问。

运行成功后,访问你的alluxio /mnt/cephfs-hadoop 和 cephfs 目录,确认其中包含了由Alluxio创建的文件和目录default_tests_files/Basic_CACHE_THROUGH _。 前者,通过Alluxio的可被访问; 后者,通过ceph-fuse或mount的方式使用POSIX APIs可被访问。

CephFS
cephfs
cephfs-hadoop
编译Alluxio
下载二进制包
ceph包安装
http://localhost:19999
Command Line Interface
Mounting CephFS
Command Line Interface
Mounting CephFS