This readme explains shortly how to compile ftmemfs and how to use it. We assume that a copy of this ftmemfs folder is in your (shared) home directory.
- Create a
bin,ftstate,libandincludedirectory in your home-directory. - Add the following lines to your .bashrc:
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$HOME/lib/
export LIBRARY_PATH=$LD_LIBRARY_PATH
export C_INCLUDE_PATH=$HOME/include
export PATH=$PATH:$HOME/binDownload redis server, in our case, redis-3.0.7 and copy the binaries in your ~/bin directory.
cd redis-3.0.7
make
cp src/redis-cli ~/bin
cp src/redis-server ~/binDownload the latest stable zookeeper release (currently 3.4.9), go to /src/c/ and:
cd zookeeper-3.4.9/src/c/
./configure --prefix=$HOME
make
make installClone the latest version from the github repository
git clone https://github.com/redis/hiredis.git
cd hiredis
make
cp *.h ~/include
cp libhiredis.so ~/libClone the latest version of eredis, and compile it. This might require libev, if it is not already present on your system, it can be found here: https://github.com/enki/libev
git clone https://github.com/EulerianTechnologies/eredis.git
cd eredis
cmake -DCMAKE_INSTALL_PREFIX=$HOME .
make
make installgit clone https://github.com/enki/libev.git
cd libev
./configure --prefix=$HOME
make
make installNow, you can enter the fuse directory and compile the filesystem. Optionally you can enable eredis or debug modus by modifying the Makefile.
cd $HOME/ftmemfs/fuse
makeCreate an virtualenv, and install the requirements:
cd $HOME
virtualenv ftenv
ftenv/bin/pip install -r ftmemfs/requirements.txtPlease now review config.ini, and the shell-scripts in the scripts directory. You have to create a file named config_platform.ini for the platform specific information. You can also create a symlink using one of the existing files, for example on DAS-5:
cd ~/ftmemfs
ln -s config_das5.ini config_platform.iniSimply execute:
ftmemfs/ftcli.shPlease review ftcli.py to see what commands are available. Use the services command to review the roles of your nodes.
You can also start a localmanager on a server manually by executing
~/ftmemfs/scripts/start_locally.shThe code contains todo remarks everywhere, with all kind of hints on how it could be improved. Although the code essentially works, it is by no means completely polished/finished and only interesting when you have the time to debug.