BlobSeer has the following external dependencies:
It is always a good idea to install these libraries using your distribution's package manager. If this is not possible you must build and install them manually. For your convenience, it is a good idea to install libraries that you manually build in a local directory, such that they are easy to remove and do not interfere with your system's standard libraries. This is mandatory if, for example, you do not have root access.
Throughout this tutorial, it is assumed you are running a UNIX platform, and you want to install the libraries in your local home directory ~/deploy.
Note: versions prior to 0.3.2 depend on OpenSSL as well. If for some reason you do not wish to ugrade to the latest version, please refer to the OpenSSL documentation on how to configure and install OpenSSL.
Redhat/CentOS: yum install openssl-dev
BlobSeer needs to link against the following Boost libraries: system, serialization, thread, filesystem and date_time. Boost documentation).
A recent version of Boost (>= 1.51.0) is required.
Here's how to configure and install Boost:
./bootstrap.sh --prefix=$HOME/deploy --with-libraries=system,thread,serialization,filesystem,date_time -libdir=$HOME/deploy/lib ./bjam install
Verify that the libraries are in the right place:
ls $HOME/deploy/lib
Use the standard automake configure script:
./configure --prefix=$HOME/deploy && make && make install
And check to make sure the libraries are in the right place:
ls $HOME/deploy/lib
Uunpack the .tar file and change to the build_unix directory, then
../dist/configure --prefix=$HOME/deploy --enable-cxx && make && make install
And check to make sure the libraries are in the right place:
ls $HOME/deploy/lib
export BLOBSEER_HOME=/home/xxx/blobseer-1.2.1 export HADOOP_HDFS_HOME=/home/xxx/hadoop-1.2.1 export HADOOP_BSFS_HOME=/home/xxx/hadoop-bsfs-1.2.1 export LD_LIBRARY_PATH=/home/xxx/deploy/lib:/home/xxx/hadoop-bsfs-1.2.1/blobseer-fsmeta/lib export BSFS_SERVER_HOME=/home/xxx/hadoop-bsfs-1.2.1/blobseer-fsmeta export JAVA_HOME=/usr/lib/jvm/java-6-oracle export HADOOP_CLASSPATH=/home/xxx/benchmark-tests export LOGGING_PORT=9030 export DEMO_OUTPUT_PATH=/home/xxx/hadoop-test-result export SCRIPT_HOME=/home/xxx/benchmark-scripts export DEMO_INPUT_PATH=/home/xxx/hadoop-input
Download BlobSeer if you haven't already done so.
BlobSeer is build using CMake. Many platforms are supported by CMake. You need to install CMake before building BlobSeer.
The toplevel make configuration file is called CMakeLists.txt. This file is split into sections, each starting with a brief descriptive comment.
If any of the libraries was manually installed in a local directory, you need specify this path in the make configuration. Set the EXTERNAL_ROOT environment variable in the root prefix of dependencies section to this path.
Worth mentioning are some preprocessor definitions used by BlobSeer. These definitions can be changed by editing the corresponding section in the configuration file. The user can control verbosity by defining -D__INFO for additional runtime information, as well as the socket type used for remote communications: -DSOCK_TYPE=tcp or -DSOCK_TYPE=udp.
As soon as the make configuration is satisfactory, proceed to generate the make files. using your favourite generator. For the purpose of this tutorial we will build UNIX makefiles. Optionally you can specify the install prefix (default: /usr):
cmake -G "Unix Makefiles" [-DCMAKE_INSTALL_PREFIX=$HOME/deploy] or export CMAKE_PREFIX_PATH=$HOME/deploy cmake -G "Unix Makefiles"
Once all Makefiles have been generated, proceed to build BlobSeer:
make
Now you are ready to install BlobSeer:
make install
If everything went fine, you have a fully functional BlobSeer environment. You can now move on to the deployment.