Skip to content

A simple distributed file system, similar to Hadoop's Distributed File System.

License

Notifications You must be signed in to change notification settings

AydanPirani/Distributed-File-System

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

61 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

In this repository, we designed a distributed file system that is tolerant to up to three simultaneous machine failures. After failure(s), we ensure that data is rereplicated quickly so that another (set of) failures that happens soon after is tolerated.

Usage

You should run server.py on the provided virtual machines.

Start Server

$ python3 server.py

Commands

Once the server is started, it will show the commands which you can use and the program will continously run util you kill the process.

You can input the following numbers for each command one at a time and enter the input that it asks for.

0. exit: exit the file system
1. put: add a file to the file system
2. get: get a file from the file system
3. delete: delete a file from the file system
4. ls: print all files in the filesystem
5. store: list all files being stored in the machine
6. get-versions: get the last N versions of the file in the machine
7. list_mem: list the membership list"
8. list_self: list self's id"
9. leave: command to voluntarily leave the group (different from a failure, which will be Ctrl-C or kill)"

For example, to run put, the terminal would look like the following:

Please enter command: 1
Selected put
Enter local filename: hi
local file does not exist! please try again
Please enter command: 1 
Selected put
Enter local filename: v3
Enter SDFS filename: v
Finished Operation! Time Taken: 0:00:01.405673

About

A simple distributed file system, similar to Hadoop's Distributed File System.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages