Skip to content

kathirvel123/HydraFS

Repository files navigation

HydraFS

A distributed file system implementation with a beautiful TUI client interface.

Features

  • Distributed Storage: Files are split into chunks and distributed across multiple DataNodes
  • Fault Tolerance: Files can be stored across different machines
  • Beautiful TUI: Modern terminal user interface built with Rich
  • Network Support: Works across multiple machines on the same network
  • File Operations: Upload, download, list, and delete files

Quick Start

Installation

  1. Install Python 3.x
  2. Install dependencies:
pip install rich

Network Setup

For detailed network setup instructions, see NETWORK_SETUP.md

Basic Usage

1. Start Namespace Server:

python namespace.py 0.0.0.0 9000

2. Start DataNodes (on different machines or same machine):

python datanode.py node1 8001 2048 <namespace_ip> 9000 <this_machine_ip>

3. Start Client TUI:

python client.py <namespace_ip> 9000

Architecture

  • Namespace Server: Central metadata coordinator (like NameNode in HDFS)
  • DataNodes: Storage servers that hold actual file chunks
  • Client: TUI interface for file operations

Components

  • namespace.py - Namespace server (metadata coordinator)
  • datanode.py - DataNode server (storage)
  • client.py - Client TUI application
  • database.py - SQLite database schema
  • utils.py - Utility functions

Documentation

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages