An attempt to make a reliable, distributed file system inspired by Hadoop File System.
- A cli tool to start and configure Data Node and Name Node servers.
Starts a Name Node server on a host.
Example:
bin/rdfs.sh namenode --name-node-port 3620 --name-node-heartbeat-port 3630
Starts a Data Node server on a host and join it to the RDFS cluster.
Example:
bin/rdfs.sh datanode --name-node-address 0.0.0.0 --name-node-heartbeat-port 3630 --data-node-port 3530
- A cli client tool to interact with RDFS.
Writes the contents of a local file onto RDFS.
Example:
bin/rdfs-client.sh write <local-filepath> <rdfs-file-name> --name-node-address 0.0.0.0 --name-node-port 3620 --block-size <preferred block size>
Reads the contents of a file on RDFS and writes it to a file locally.
Example:
bin/rdfs-client.sh read <new-local-filename> <rdfs-file-name> --name-node-address 0.0.0.0 --name-node-port 3620
Deletes a file from RDFS.
Example:
bin/rdfs-client.sh delete <rdfs-file-name> --name-node-address 0.0.0.0 --name-node-port 3620
docker build -t rdfs -f docker/Dockerfile.rdfs .
docker build -t rdfs-client -f docker/Dockerfile.client .