GithubHelp home page GithubHelp logo

moeinxyz / qfs Goto Github PK

View Code? Open in Web Editor NEW

This project forked from noahgoldman/qfs

0.0 0.0 0.0 25.03 MB

Quantcast File System

Home Page: https://quantcast.atlassian.net

License: Apache License 2.0

Shell 5.98% JavaScript 0.09% C++ 47.36% Python 1.12% Perl 0.03% C 39.70% Java 0.99% Go 0.25% CSS 0.07% TeX 0.13% Makefile 1.58% HTML 1.09% CMake 0.46% M4 0.24% GDB 0.09% Ragel 0.82%

qfs's Introduction

QFS version 2.1.1

Release 2.1.1 contains minor bug fixes.

Non blocking DNS resolver is the new feature in release 2.1.0. The new DNS resolver is intended to improve S3 [compatible] object store IO concurrency and reduce latency.

Meta server replication is the major new feature in release 2.0.0. Meta server replication provides automatic meta server fail over. With meta server replication configured QFS does not have single point of failure.

Release notes are available here.

Quantcast File System

Quantcast File System (QFS) is a high-performance, fault-tolerant, distributed file system developed to support MapReduce processing, or other applications reading and writing large files sequentially.

QFS used in Quantcast production cluster.

QFS servers have been tested on 64-bit CentOS 6 extensively and run on Linux variants. The QFS client tools work on OS X and Cygwin as well.

Platform Build Status
Mac OS X Build Status
Ubuntu 14.04 Build Status
Ubuntu 18.04 Build Status
CentOS 6 Build Status
CentOS 7 Build Status
Debian 9 Build Status

The implementation details and features of QFS are discussed in detail in the project wiki.

Getting QFS

QFS is available through various channels.

  • BigTop: QFS packages for rpm and debian based systems are available through the BigTop project.
  • Binary Distributions: There are various binary distributions packaged as tarballs available on the Binary Distributions Page.
  • Compile from source: QFS can be compiled on Linux variants, Mac OS X, and Cygwin. See the wiki for more information on how to build QFS yourself.

Trying QFS

Once you have aquired QFS through one of the methods above, you can take QFS for a quick test drive. Setting up a single node configuration to familiarize yourself with QFS is very easy.

  1. Extract the distribution tarball.

     $ tar -xzf qfs.tgz && cd qfs
    
  2. Set up a single node QFS instance. This will create a workspace in ~/qfsbase, start two chunk servers and one metaserver.

     $ ./examples/sampleservers/sample_setup.py -a install
     Binaries presence checking - OK.
     Setup directories - OK.
     Setup config files - OK.
     Started servers - OK.
    
  3. Add tools binary path toPATH

     $ PATH=${PWD}/bin/tools:${PATH}
    
  4. Make a temporary directory on the file system

     $ qfsshell -s localhost -p 20000 -q -- mkdir /qfs/tmp
    
  5. Create a file containing "Hello World", Reed-Solomon encoded, with replication 1.

     $ echo 'Hello World' | cptoqfs -s localhost -p 20000 -S -k /qfs/tmp/helloworld -d -
    
  6. Cat the file content.

     $ qfscat -s localhost -p 20000 /qfs/tmp/helloworld
    
  7. Stat the file to see encoding (RS or not), replication level, and mtime.

     $ qfsshell -s localhost -p 20000 -q -- stat /qfs/tmp/helloworld
    
  8. Copy the file locally to the current directory.

     $ cpfromqfs -s localhost -p 20000 -k /qfs/tmp/helloworld -d ./helloworld
    
  9. Remove the file from QFS.

     $ qfsshell -s localhost -p 20000 -q -- rm /qfs/tmp/helloworld
    
  10. Stop the servers.

     $ ./examples/sampleservers/sample_setup.py -a stop
    
  11. Uninstall the single node instance.

     $ ./examples/sampleservers/sample_setup.py -a uninstall
    

Benchmarking QFS

A performance comparison between QFS and HDFS 1.0.2 shows QFS is faster both at reading and writing 20 TB of uncompressed data on our test system, a heterogeneous cluster with 6,500 disk drives. See more information regarding this in our wiki.

Contributing to QFS

We welcome contributions to QFS in the form of enhancement requests, patches, additional tests, bug reports, new ideas, and so on. Please submit issues using our JIRA instance and refer to the QFS code contribution policy when contributing code.

Have Questions?

Join the QFS Developer mailing list or search the archives at the Google Group.

Post comments or questions to [email protected].

License

QFS is released under the Apache 2.0 license.

qfs's People

Contributors

mikeov avatar mckurt avatar kstinsonqc avatar fsareshwala avatar ts2012 avatar zimmix avatar sday-qc avatar sfllaw avatar onlyjob avatar maxrabin avatar quantcast-engineering avatar rr0gi avatar erolosty avatar coderfi avatar wjiang-qc avatar teodor-pripoae avatar ssalevan avatar noahgoldman avatar beol avatar soarez avatar echenj avatar comptonqc avatar

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.