A distributed file system, based on hdfs/gfs. Just for fun and learning.
Work is still in progress, a lot of things are missing.
If you want to try it out, the easiest way it to spin up docker containers (docker-compose up
), and bash into a running container (docker exec -it <id> bash
).
Inside a running container, you can:
- List datanodes
shell report
- ls
shell ls /
- mkdir
shell mkdir /foo/bar/baz
- Upload a file
shell put build.rs /build.rs
- Download a file
shell get /build.rs ./temp
To spin up nodes yourself:
UDFS_CONFIG_FILE=/path/to/config.toml cargo run --bin namenode
UDFS_CONFIG_FILE=/path/to/config.toml cargo run --bin datanode localhost:42001
RUST_LOG=udfs=debug ...