Implementation of a distributed file system. We use UDP to detect failures and TCP to execute the file commands.
Chunhao Shen, Siyu Ye, Xiya Fan, Hange Liu
Build and deploy with
**Make all**
Wirte your own makefile to deploy. The original content in makefile is only supported during the course.
To run on local host:
** go run main.go debug **
To run across machines:
** go run main.go **
To deploy a intro node
** join intro**
To deploy a ordinary node
** join [port_number]**
To leave the system
** leave **
To get node info
** id **
To list members of the system
** members **
To put a file
** put [local_filepath] [filename] **
To get a file
** get [filename] [local_filepath] **
To delete a file
** delete [filename] **
To get a list of servers with a file
** ls [filename] **
To get a list of files on the server
** store **
To run maple(map) command
** maple <exec_filename> <number_of_maple> <sdfs_intermediate_file_prefix> <input_filename> **
To run juice(reduce) command To get a list of files on the server
** juice <exec_filename> <number_of_juice> <sdfs_intermediate_file_prefix> <output_filename> <delete_intermediate_file_or_not> <method_of_dividing_task(hash or not)> **
See example map_reduce command in "command_backup". See example executable file and source code file in "/mj_exe"