什么是 Alluxio
Alluxio(前身为 Tachyon)是一个虚拟分布式存储系统。
它弥合了计算框架与存储系统之间的差距,使得计算应用程序能够通过统一的接口连接到众多存储系统。
更多内容请查看 Alluxio 概述。
Alluxio 项目源自于 UC 伯克利 AMPLab 的一个名为 Tachyon 的研究项目,它是伯克利数据分析堆栈(BDAS)的数据层。
更多详细信息请参考 Haoyuan Li 的博士论文 Alluxio: A Virtual Distributed File System。
谁在使用 Alluxio
Alluxio 已经被许多领先公司在生产环境中用于管理数千 PB 的数据,最大部署规模超过 3000 个节点。更多的使用案例请访问 Powered by Alluxio,或者参见我们的首次社区会议 (Data Orchestration Summit),向其他社区成员学习!
谁拥有并管理 Alluxio 项目
Alluxio 开源基金会是 Alluxio 项目的所有者。项目的运营由 Alluxio 项目管理委员会(PMC)负责。你可以在 这里 查看其结构和如何加入 Alluxio PMC 的更多细节。
社区和活动
请使用以下途径与社区成员联系:
- Alluxio 社区 Slack 频道:如果你有一般性问题或在使用 Alluxio 时遇到问题,请在这里发布你的问题。
- Alluxio 用户和开发者的特别兴趣小组(SIG)
- 社区活动:即将举办的在线办公时间、聚会和网络研讨会
- Meetup 群组:全球在线 Meetup、湾区 Meetup、纽约 Meetup、北京 Alluxio Meetup、奥斯丁 Meetup
- Alluxio Twitter;Alluxio Youtube 频道;Alluxio 邮件列表
下载 Alluxio
二进制下载
可以从 https://www.alluxio.io/download 下载预构建的二进制文件。
Docker
下载并启动一个 Alluxio 主节点和一个工作节点。更多细节可以在 文档 中找到。
# 创建一个网络以连接 Alluxio 容器
$ docker network create alluxio_nw
# 创建一个用于存储 ufs 数据的卷
$ docker volume create ufs
# 启动 Alluxio 主节点
$ docker run -d --net=alluxio_nw \
-p 19999:19999 \
--name=alluxio-master \
-v ufs:/opt/alluxio/underFSStorage \
alluxio/alluxio master
# 启动 Alluxio 工作节点
$ export ALLUXIO_WORKER_RAMDISK_SIZE=1G
$ docker run -d --net=alluxio_nw \
--shm-size=${ALLUXIO_WORKER_RAMDISK_SIZE} \
--name=alluxio-worker \
-v ufs:/opt/alluxio/underFSStorage \
-e ALLUXIO_JAVA_OPTS="-Dalluxio.worker.ramdisk.size=${ALLUXIO_WORKER_RAMDISK_SIZE} -Dalluxio.master.hostname=alluxio-master" \
alluxio/alluxio worker
MacOS Homebrew
$ brew install alluxio
快速开始
请遵循 快速入门指南 运行一个简单的 Alluxio 示例。
报告 Bug
如果要报告 bug、提出改进建议或创建新功能请求,请打开 GitHub 问题。如果你不确定是否遇到了 bug,或只是有关于 Alluxio 的一般性问题,请在 Alluxio Slack 频道 上发布你的问题。
依赖于 Alluxio
Alluxio 项目提供了几个不同的客户端构件,供外部项目依赖 Alluxio 客户端:
alluxio-shaded-client
构件通常推荐用于项目中使用 Alluxio 客户端。该构件的 jar 文件是自包含的(包括所有依赖项,以避开依赖冲突),因此比以下两个构件更大。alluxio-core-client-fs
构件提供了 Alluxio Java 文件系统 API,用于访问 Alluxio 特有的功能。该构件包含在alluxio-shaded-client
中。alluxio-core-client-hdfs
构件提供了 HDFS 兼容文件系统 API。该构件也包含在alluxio-shaded-client
中。
以下是使用 Maven 声明依赖 alluxio-shaded-client
的示例:
<dependency>
<groupId>org.alluxio</groupId>
<artifactId>alluxio-shaded-client</artifactId>
<version>2.6.0</version>
</dependency>
贡献
欢迎通过 GitHub 拉取请求贡献代码。提交拉取请求时,请声明该贡献是你的原创工作,并且你将该工作授权给项目,按照项目的开源许可进行使用。无论是否明确声明,提交任何版权材料时,默认同意将其许可给项目,并保证你有合法权限这么做。
详细的步骤请阅读 如何贡献给 Alluxio。
对于新贡献者,可以先完成两个 新贡献者任务。
对于高级功能请求和贡献,Alluxio 核心团队定期举行线上会议,与社区用户和开发者讨论项目迭代,讨论内容包括两个特别兴趣小组:
- Alluxio 与 AI 工作负载:例如,通过 POSIX API 在 Alluxio 上运行 Tensorflow、Pytorch。查看 [会议记录](https://docs.google.com/spreadsheets/d/1OlprIiUkGjMuZJ_6cLTJYVJpTGpnTWkFhHz
X16tYNDQ/)
- Alluxio 与 Presto 工作负载:例如,在 Alluxio 上运行 Presto。查看 会议记录
订阅我们的 公共日历 参与我们的会议。
有用链接
参考资料
https://docs.daos.io/v2.6/overview/architecture/