MCPcopy
hub / github.com/Alluxio/alluxio

github.com/Alluxio/alluxio @v2.9.6 sqlite

repository ↗ · DeepWiki ↗ · release v2.9.6 ↗
28,813 symbols 158,255 edges 3,122 files 14,214 documented · 49%
README

logo

Slack Release Docker Pulls Documentation OpenSSF Scorecard Twitter Follow License

What is Alluxio

Alluxio (formerly known as Tachyon) is a virtual distributed storage system. It bridges the gap between computation frameworks and storage systems, enabling computation applications to connect to numerous storage systems through a common interface. Read more about Alluxio Overview.

The Alluxio project originated from a research project called Tachyon at AMPLab, UC Berkeley, which was the data layer of the Berkeley Data Analytics Stack (BDAS). For more details, please refer to Haoyuan Li's PhD dissertation Alluxio: A Virtual Distributed File System.

Who Uses Alluxio

Alluxio is used in production to manage Petabytes of data in many leading companies, with the largest deployment exceeding 3,000 nodes. You can find more use cases at Powered by Alluxio or visit our first community conference (Data Orchestration Summit) to learn from other community members!

Who Owns and Manages Alluxio Project

Alluxio Open Source Foundation is the owner of Alluxio project. Project operation is done by Alluxio Project Management Committee (PMC). You can checkout more details in its structure and how to join Alluxio PMC here.

Community and Events

Please use the following to reach members of the community:

Download Alluxio

Binary download

Prebuilt binaries are available to download at https://www.alluxio.io/download .

Docker

Download and start an Alluxio master and a worker. More details can be found in documentation.

# Create a network for connecting Alluxio containers
$ docker network create alluxio_nw
# Create a volume for storing ufs data
$ docker volume create ufs
# Launch the Alluxio master
$ docker run -d --net=alluxio_nw \
    -p 19999:19999 \
    --name=alluxio-master \
    -v ufs:/opt/alluxio/underFSStorage \
    alluxio/alluxio master
# Launch the Alluxio worker
$ 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

Quick Start

Please follow the Guide to Get Started to run a simple example with Alluxio.

Report a Bug

To report bugs, suggest improvements, or create new feature requests, please open a Github Issue. If you are not sure whether you run into bugs or simply have general questions with respect to Alluxio, post your questions on Alluxio Slack channel.

Depend on Alluxio

Alluxio project provides several different client artifacts for external projects to depend on Alluxio client:

  • Artifact alluxio-shaded-client is recommended generally for a project to use Alluxio client. The jar of this artifact is self-contained (including all dependencies in a shaded form to prevent dependency conflicts), and thus larger than the following two artifacts.
  • Artifact alluxio-core-client-fs provides Alluxio Java file system API) to access all Alluxio-specific functionalities. This artifact is included in alluxio-shaded-client.
  • Artifact alluxio-core-client-hdfs provides HDFS-Compatible file system API. This artifact is included in alluxio-shaded-client.

Here are examples to declare the dependecies on alluxio-shaded-client using Maven:

xml <dependency> <groupId>org.alluxio</groupId> <artifactId>alluxio-shaded-client</artifactId> <version>2.6.0</version> </dependency>

Contributing

Contributions via GitHub pull requests are gladly accepted from their original author. Along with any pull requests, please state that the contribution is your original work and that you license the work to the project under the project's open source license. Whether or not you state this explicitly, by submitting any copyrighted material via pull request, email, or other means you agree to license the material under the project's open source license and warrant that you have the legal authority to do so. For a more detailed step-by-step guide, please read how to contribute to Alluxio. For new contributor, please take two new contributor tasks.

For advanced feature requests and contributions, Alluxio core team is hosting regular online meetings with community users and developers to iterate the project in two special interest groups:

  • Alluxio and AI workloads: e.g., running Tensorflow, Pytorch on Alluxio through the POSIX API. Checkout the meeting notes
  • Alluxio and Presto workloads: e.g., running Presto on Alluxio. Checkout the meeting notes

Subscribe our public calendar to join us.

Useful Links

Extension points exported contracts — how you extend this code

FuseCommand (Interface)
An interface for all fuse shell commands. [78 implementers]
integration/fuse/src/main/java/alluxio/cli/FuseCommand.java
HadoopFileOpener (Interface)
Interface to wrap open method of file system. [18 implementers]
core/client/hdfs/src/main/java/alluxio/hadoop/HadoopFileOpener.java
RestCallable (Interface)
An interface representing a callable. @param the return type of the callable [39 implementers]
core/server/proxy/src/main/java/alluxio/proxy/s3/S3RestUtils.java
Seekable (Interface)
This interface should be implemented by all Alluxio streams which support moving the read position to a specific byte of [26 …
core/common/src/main/java/alluxio/Seekable.java
TableRow (Interface)
A row in a table. [6 implementers]
job/server/src/main/java/alluxio/job/plan/transform/format/TableRow.java
JobFactory (Interface)
Factory for creating job instances. [191 implementers]
job/common/src/main/java/alluxio/scheduler/job/JobFactory.java
UdbPartition (Interface)
A representation of a table partition in the udb. [7 implementers]
table/server/common/src/main/java/alluxio/table/common/UdbPartition.java
TaskResult (Interface)
This represents the result of a single stress task. A TaskResult is meant to be aggregated into a {@link Summary [19 implementers]
stress/common/src/main/java/alluxio/stress/TaskResult.java

Core symbols most depended-on inside this repo

get
called by 1998
core/common/src/main/java/alluxio/collections/BitSet.java
add
called by 1674
core/common/src/main/java/alluxio/collections/FieldIndex.java
put
called by 1659
core/client/fs/src/main/java/alluxio/client/file/cache/PageStore.java
format
called by 1642
core/server/common/src/main/java/alluxio/master/journal/JournalSystem.java
get
called by 1365
core/server/master/src/main/java/alluxio/master/metastore/InodeStore.java
newBuilder
called by 1156
core/common/src/main/java/alluxio/wire/Configuration.java
size
called by 1012
core/common/src/main/java/alluxio/resource/Pool.java
newBuilder
called by 1011
core/server/master/src/main/java/alluxio/master/metastore/ReadOption.java

Shape

Method 24,632
Class 3,302
Interface 364
Function 292
Enum 164
Struct 46
TypeAlias 12
FuncType 1

Languages

Java97%
Go1%
TypeScript1%
Python1%

Modules by API surface

core/common/src/main/java/alluxio/concurrent/jsr/CompletableFuture.java236 symbols
core/server/master/src/main/java/alluxio/master/file/DefaultFileSystemMaster.java163 symbols
integration/jnifuse/fs/src/main/java/alluxio/jnifuse/ErrorCodes.java135 symbols
core/client/fs/src/test/java/alluxio/client/file/cache/LocalCacheFileInStreamTest.java126 symbols
core/common/src/main/java/alluxio/underfs/ObjectUnderFileSystem.java102 symbols
core/common/src/test/java/alluxio/conf/InstancedConfigurationTest.java100 symbols
core/server/master/src/main/java/alluxio/master/block/DefaultBlockMaster.java97 symbols
core/server/master/src/test/java/alluxio/master/file/FileSystemMasterTest.java96 symbols
core/common/src/main/java/alluxio/concurrent/jsr/ForkJoinPool.java94 symbols
tests/src/test/java/alluxio/client/rest/S3ClientRestApiTest.java84 symbols
core/common/src/main/java/alluxio/concurrent/jsr/ForkJoinTask.java84 symbols
core/common/src/main/java/alluxio/conf/PropertyKey.java82 symbols

Dependencies from manifests, versioned

cloud.google.com/gov0.34.0 · 1×
github.com/beorn7/perksv1.0.0 · 1×
github.com/container-storage-interface/specv1.1.0 · 1×
github.com/davecgh/go-spewv1.1.1 · 1×
github.com/docker/go-unitsv0.3.3 · 1×
github.com/docker/spdystreamv0.0.0-2016031017483 · 1×
github.com/evanphx/json-patchv4.5.0+incompatible · 1×
github.com/go-logr/logrv0.1.0 · 1×
github.com/go-logr/zaprv0.1.0 · 1×
github.com/golang/glogv0.0.0-2021042900190 · 1×
github.com/golang/groupcachev0.0.0-2018051304435 · 1×

Datastores touched

(mysql)Database · 1 repos
metastoreDatabase · 1 repos

For agents

$ claude mcp add alluxio \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact