Skip to content


Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
The Membase Server Superdupervisor.
Erlang JavaScript HTML CSS Ruby Python Other

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.
cmake_modules Add path to ejson that's needed by mb_map when vbmap is used.
common_tests Make auto-failover common_tests work with current version.
deps Hide details of activate and is_active ns_port_server calls.
doc MB-13613 Drop one more reference to the deceased moxi service.
etc MB-14384 audit for LDAP settings
include MB-13549 put access records for user @ into separate http access log
priv MB-12222: finalize audit section
scripts A script to show per allocator overhead/fragmentation.
src MB-13549 Collect http_access_internal.log as part of /diag too.
test Setup path config overrides for all tests.
.gitignore Update .gitignore to ignore cluster run log files
CHANGES MB-8663 Mention where to find replication id.
CMakeLists.txt MB-12038: Compile go code; delete pre-compiled binaries
GNUmakefile MB-12038: Compile go code; delete pre-compiled binaries
LICENSE bug 1626 - apache license headers on files
README.markdown Typo - COUCHBASE_NUM_VBUCKET(S) to set vbucket cnt
cbbrowse_logs MB-8101: allow overriding of logs reports dir
cbcollect_info MB-13549 include http_access_internal.log into cbcollect_info
cbreset_password MB-8974 suppress unnecessary error messages in cbreset_password
cluster_connect cluster_connect: shortcut to specify same services for all nodes
cluster_run MB-13596 add paremeter ssl_query_port to config
configure MB-10807 Fix make test and make dialyzer. MB-14656: Print version and usage information Disable deprecated type warnings.


The Couchbase Server

This application represents the top of the hierarchy of all memcached smart services. It is an application in the Erlang OTP sense.


Build dependencies include...

  • erlang R14 (make sure to have functional crypto)


You should use top level make file and repo manifest as explained here:

Runtime dependencies

Before you start the server, you may need to do the following

  • Make sure the needed ports are not being used (these include 8091, 11211, 11212, etc).


After building everything via top level makefile you'll have couchbase-server script in your $REPO/install/bin (or other prefix if you specified so). You can run this script for normal single node startup.

During development it's convenient to have several 'nodes' on your machine. There's ./cluster_run script in root directory for achiving that. Feel free to ask --help. You normally need something like -n2 where 2 is number of nodes you want.

It'll start REST API on ports 9000...9000+n. memcached on ports 12000+2i and 11999-i and moxi ports on 12001+2i ports. CAPI (which was originally expected to be couch-compatible http API implementation) is 9500...9500+n

Note that blank nodes are not configured and need to be setup. I suggest trying web UI first to get the feeling of what's possible. Just visit REST API port(s) via browser. For development mode clusters it's port 9000 and higher. For production mode it's port 8091.

Other alternative is setting up and clustering nodes via REST API. couchbase-cli allows that. And you can easily write your own script(s).

There's ./cluster_connect script that eases cluster configuration for development clusters. Ask --help.

Sometimes during debugging/development you want smaller number of vbuckets. You can change vbuckets number by setting COUCHBASE_NUM_VBUCKETS environment variable to desired number of vbuckets before creating new couchbase bucket.

Other tools

Couchbase ships with a bunch of nice tools. Feel free to check $REPO/install/bin (or $PREFIX/bin). One of notable tools is mbstats. It allows you to query buckets for all kinds of internal stats.

Another notable tool is couchbase-cli. Script is called just couchbase.

Copyright (c) 2012, Couchbase, Inc.

Something went wrong with that request. Please try again.