First of all, I would like to apologize the cumbersome installation process of EclipseDFS. The reason behind it is that we have a small team and our priorities at this moment is to add more features to our framework.
EclipseDFS audience are expected to be familiar with linux environments, thus we decided at this stage to let the [linux] user compile EclipseDFS, hoping that the user would add more features or fix bugs on his own. :)
Currently, we are not distributing packages or binaries of EclipseDFS. The user is expected to download the latest version from our Github project site, and manually compile it and install it.
Step zero - Prerequisites
Before you begin with this tutorial, there are some requirements in your cluster needed to run EclipseDFS.
Your cluster should have a partition shared in NFS among all the nodes. Also, most likely you will need sudo permission on the master node unless you already have all the dependencies (you could also install them locally).
If it is not your case you might have to tweek on your own some steps depending on your configuration.
Dependencies
- Relativitely new GCC (>=4.9) or clang (>=3.5) version.
- Boost library version higher than 1.53.
- Autotools.
- Ruby interpreter >= 2.0.0 (For the launcher)
If you meet those requirements you can directly move to step one.
Dependencies (only for UBUNTU)
Ubuntu >= 14.04 is officially supported and its expected to work out of the box.
We will begin by adding the repositories for the boost library and recent compiler versions:
$ sudo add-apt-repository ppa:ubuntu-toolchain-r/test
$ sudo apt-get update
Next step will be installing the needed packages:
$ sudo apt-get -y install libboost1.55-all-dev build-essential gcc-4.9 g++-4.9 libsqlite3-dev
Step one - Download and configuration
The step one begins downloading EclipseDFS from its github page:
Then, we will create a temporary folder where we will hold all the intermediate files needed for the compilation. This folder can be safely removed after installation.
The configuration script will be generated using the autogen.sh
script shipped with EclipseDFS:
Finally, we move to our temporary folder and call our generated configure script. The configure script has many different options to tweek the future installation. In this tutorial, I introduce the prefix option which define where the binaries will be installed. IMPORTANT, if you want to install EclipseDFS for all the users you would to set the prefix --prefix /usr/local
$ cd ../build_dfs
$ sh ../EclipseDFS/configure --prefix ~/sandbox # Set the prefix, many other options are available
Note that the configure script will check if your system meets the requirements for compilation, thus errors are to be expected.
Step two - Compilation and Installation
For those who might want to contribute to EclipseDFS they might find themself keep compiling and installing EclipseDFS whenever they modify the source code.
The step two begins in our temporary folder build_dfs
, once there we would issue a single command to compile and install EclipseDFS:
Now all the binaries have been copied to ~/sandbox/bin
. Thus, we want to access those binaries at any moment. In order to do that we would need to add ~/sandbox/bin
to our path:
change vicente to your user
Step three - Configuration files
As for this local installation, the configuration file should be placed inside ~/.eclipse.json
. luckily we have a template (example) inside the EclipseDFS/doc folder:
$ cp EclipseDFS/doc/eclipse.json ~/
The documentation of the configuration file is extensive and we keep adding new options, for up-to-date documentation refer to this reference.
Step four - EclipseDFS default launcher
EclipseDFS is not shipped with a launcher, the main reason is that we do not want to limit its usage to a single launcher. For our future work we expect to support docker and other vm images along init.d and systemd scripts.
However, we have developed an small and useful launcher called eclipsed
, which lets you launch, stop, and debug your EclipseDFS deployment. It is a ruby gem, thus the installation is as simple as:
Finally, you can launch EclipseDFS:
Check if all the instances are up, by:
If that is the case, congratulations!! you have installed EclipseDFS.
Conclusion
EclipseDFS deployment is cumbersome, our team acknowledge that problem, so we are looking forward ways to easy the deployment. Possibly you might have got stuck in some step, if that is the case you have few ways to get support from us (From fastest to slowest).
- Reach us in our slack room.
- Submit a ticket in our github site.
- E-mail any of our team (author list is in the README)