Skip to content

A fuse filesystem for zookeeper written in C++.

License

Apache-2.0, GPL-3.0 licenses found

Licenses found

Apache-2.0
LICENSE
GPL-3.0
COPYING
Notifications You must be signed in to change notification settings

borowskk/zookeeper-fuse

Repository files navigation

The zookeeper-fuse project is a libfuse compatible userspace filesystem backended by zookeeper. It allows a user to mount the entire zoo or a specific node within the zoo as a filesystem.

Features:
  - Mount the entire zoo or a subset
  - Writes to the filesystem gets synched to the zoo
  - Reads from the filesystem are not cached
  - Supports authentication

Building:
  autoreconf -fi
  ./configure
  make
  make install

Mounting:
  zookeper-fuse /mnt/zoo -- --zooHosts localhost:2181

Limitations:
  - Displaying Leaf Nodes: In the Zookeeper, even directories can have contents. An aspect which is difficult to represent within the constraints of a fuse filesystem. As such, two leaf display modes are supported: DIR and FILE. In both modes the contents of directories are stored in special "_zoo_data_" files. The differences between the display modes are as follows:
    1. DIR: Display all leaf nodes as directories, has the side-effect that new files can only be created using mkdir.
    2. FILE: Display all leaf nodes as files, has the side-effect that directories cannot be created.
  - mv is not yet implemented in any leaf display mode
  - cp is not fully supported...
    - When leaf display mode is FILE, files can be copied accurately but directories aren't
    - When leaf display mode is DIR, nodes are created but contents aren't copied


For development using Ubuntu 16.04 (Xenial Xerus)
Required Packages for compilation:
 - libzookeeper-mt-dev
 - libfuse-dev 
 - zookeeper

Optional Packages:
 - liblog4cpp5-dev

Zookeeper Package:
 - zookeeperd

Useful packages for testing and debugging:
 - zooinspector

About

A fuse filesystem for zookeeper written in C++.

Resources

License

Apache-2.0, GPL-3.0 licenses found

Licenses found

Apache-2.0
LICENSE
GPL-3.0
COPYING

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published