I've created some scripts to make it easier for you to build and install everything, so the first we need to do is to check out (or update your clone) of my tools repository:
trond@opensolaris> git clone git://github.com/trondn/tools.git trond@opensolaris> cd tools/membase
Next up we need to create some new ZFS datasets for our moxi installation. I've created a script that creates the zfs datasets and set up the mountpoints:
trond@opensolaris> ./smf/moxi/setup.sh -u -z rpool
The
-u
option tells the script to create authorizations, profiles, users and groups we need, and the -z
option tells the script to create the zfs filesystems in the zfs pool named rpool
.Next up we need to compile (and install) the source code. The directory
/opt/membase
is not writable for us, so let's change the ownership so I can install files there...:trond@opensolaris> pfexec chown trond:staff /opt/membase trond@opensolaris> ./setup.sh -d /opt/membase moxi Download commit hook - Ok. Checking out libmemcached (Bazaar) - Ok. Checking out bucket_engine (git) - Ok. Checking out ep-engine (git) - Ok. Checking out libconflate (git) - Ok. Checking out libvbucket (git) - Ok. Checking out memcached (git) - Ok. Checking out moxi (git) - Ok. Checking out vbucketmigrator (git) - Ok. Checking out membase-cli (git) - Ok. Checking out ns_server (git) - Ok. Checking out memcachetest (git) - Ok. Configure build for SunOS trond@opensolaris> cd moxi/SunOS trond@opensolaris> make all install
Now we've got everything installed to
/opt/membase
, so let's change the ownership to membase:membase
and install the SMF script to manage moxi:trond@opensolaris> chown -R membase:membase /opt/membase trond@opensolaris> cd ../../smf/moxi trond@opensolaris> ./setup.sh -s moxi installed as /lib/svc/method/moxi moxi.xml installed as /var/svc/manifest/application/moxi.xml
So let's check out the configuration options we got for our new SMF service:
trond@opensolaris> svccfg svc:> select moxi svc:/application/database/moxi> listprop manifestfiles framework manifestfiles/var_svc_manifest_application_moxi_xml astring /var/svc/manifest/application/moxi.xml general framework general/action_authorization astring solaris.smf.manage.moxi general/entity_stability astring Unstable general/single_instance boolean true general/value_authorization astring solaris.smf.value.moxi multi-user-server dependency multi-user-server/entities fmri svc:/milestone/multi-user-server multi-user-server/grouping astring require_all multi-user-server/restart_on astring none multi-user-server/type astring service moxi application moxi/corepattern astring /var/opt/membase/cores/core.%f.%p moxi/downstream_max astring 8 moxi/port astring 11211 moxi/threads astring 4 moxi/url astring http://membase:8091/pools/default/bucketStreaming/default moxi/version astring 1.6.0 tm_common_name template tm_common_name/C ustring Membase tm_man_moxi template tm_man_moxi/manpath astring /opt/membase/share/man tm_man_moxi/section astring 1 tm_man_moxi/title astring moxi
You will most likely want to set the URL parameter to point to the bucket you want to use..
svc:/application/database/moxi> setprop moxi/url=http://myserver:8091/pools/default/bucketStreaming/default
Let's refresh the configuration and start the service:
trond@opensolaris> svccfg refresh moxi trond@opensolaris> svcadm enable moxi trond@opensolaris> svcs moxi STATE STIME FMRI online 9:45:41 svc:/application/database/moxi:moxi
No comments:
Post a Comment