Permalink
Fetching contributors…
Cannot retrieve contributors at this time
99 lines (69 sloc) 2.57 KB
Building
========
- install the zookeeper libs in /usr/local
./autogen.sh
./configure --with-zookeeper --enable-static
make
Getting Zookeeper
=================
Neither Ubuntu nor Fedora include an usable zookeeper
installation. Get the latest one (3.3.3) from zookeeper.apache.org,
unpack it and run "./configure ; make; make install" in the src/c
tree. Then move everything in /usr/local/include/c-client-src/* into
/usr/local/include.
You will need at least
include/recordio.h
include/zookeeper.h
include/zookeeper.jute.h
include/zookeeper_log.h
include/zookeeper_version.h
lib/libzookeeper_st.a
lib/libzookeeper_st.la
lib/libzookeeper_st.so
lib/libzookeeper_st.so.2
lib/libzookeeper_st.so.2.0.0
in a folder to build memcached with zookeeper.
Static binary on Fedora Linux
=============================
For ideologic reasons, Fedora Linux does not ship with the static
versions of libuuid and libjson.
Download the most recent versions of these packages:
% yumdownloader --source libuuid
% yumdownloader --source json-c
apply the patches in the ness subdirectory and rebuild the packages.
Then build the memcache with --enable-static
Static binary on Ubuntu Linux (10.04 LTS)
=========================================
Install libevent-dev, uuid-dev, libjson0-dev. Don't use the zookeeper
included with Ubuntu (it is 3.2.2 and it only includes the _mt
libraries, not the single threaded ones).
Apart from that, Ubuntu is delightfully uneventful, which makes for a
nice change.
Memcached configuration
=======================
Place a memcached.conf file in galaxy. This file has the same format
as a properties file; keys are the long options for memcached.
e.g.
--- cut ---
port=#{private.port.0}
listen=#{internal.ip}
verbose
protocol=auto
--- cut ---
Service Discovery
=================
The launcher.memcached picks up the discovery config from config.properties. No need to add it
to the memcached configuration file.
Galaxy
======
The 'galaxy' folder contains the necessary pieces to integrate memcached with galaxy.
- make sure that all the pieces are checked into git. 'make_tarball.sh' use the git
version tag to build the tarball name.
- build memcached static and with zookeeper support (see above).
- get the current set of galaxy scripts. Modify 'make_tarball.sh' to point at the scripts.
- run 'make_tarball.sh'.
- make sure that the resulting tarball does not clobber an existing name.
- upload the resulting tarball to depot.
If you can make no sense of these instructions: They are Ness
specific, so working at Ness really helps, because then you can ask
Henning to build it. :-)