Git Product home page Git Product logo

perfuse's Introduction

Perfuse: A Location Aware Distributed File System

There are 3 parts to the code:

  1. Chunk Server
  2. Storage Server
  3. Client

Codde is available at https://github.com/gurudarshan266/Perfuse.git

Chunk Server is written in Java. Client and Storage Server are written using Python.

The Client uses Python FUSE library from https://github.com/terencehonles/fusepy

To run Chunk Server, please ensure that Java 1.8, MySQL and Maven are installed

To run Client and Storage server, run "source setup.sh" in their respective directories with root privileges. The script downloads and installs all the required modules like Google's gRPC, Protocol Buffer, DB plugins and compiles .proto files.

Use "make clean" for Storage Server and Client to remove any chunks from the local cache.

Root privileges are mandatory for the Storage Server because PyPing module uses ICMP libraries to create ping packets which cannot be accessed without root access.

Mount point for the Client FUSE file system is /tmp/fuse2 which must be created manually before starting the Client.

Replication Factor and the Client IP must be set in Client/constants.py file

Storage Server IP must be set in StorageServer/constants.py file

To run Client use: python fusefs.py "IP address of chunk server"

To run Storage Server use: python storage_server.py "IP address of chunk server"

Visusalizer used in the demo was forked from PubNub. AJAX, RabbitMQ and Web Workers were added to create asynchronous events on the map during file ransfers. Code is available at: https://github.com/gurudarshan266/webgl-visualization.git

perfuse's People

Contributors

gurudarshan266 avatar shravan-achar avatar darshan266 avatar

Stargazers

 avatar

Watchers

James Cloos avatar  avatar

Forkers

pmgd

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.