A newer version of this documentation is available.

View Latest

Couchbase Server Processes

      +
      Couchbase Server spawns a number of different processes on each node. These processes vary in type and number depending on which Couchbase services are running on a particular node.

      Couchbase Server spawns processes from a set of binaries that get installed by the Couchbase installer. Some of these processes support the basic functions of Couchbase Server, and run on every node in the Couchbase cluster (Core). Other processes, however, support the various Couchbase services, and only run on the nodes that happen to run a particular Couchbase service (Data, Query, Index, Search, Analytics, and Eventing).

      The tables on this page list out all of the Couchbase processes, along with the specific Couchbase services that will invoke them. If a particular Couchbase service is not running on a node, then the processes associated with that service will not run.

      It’s important that each of these processes is allowed to run and access files on the nodes that are enabled for the Couchbase services that they support. Otherwise, Couchbase Server will not function properly. Depending on your security environment, you may need to explicitly approve these processes and their binary directories in your security policy.

      Linux

      The following table lists the Couchbase processes that run on Linux platforms.

      Table 1. Couchbase Processes on Linux
      Process Description Service Path

      cbft

      Couchbase Full-Text Search (FTS) service

      Search

      /opt/couchbase/bin/

      cbq-engine

      Couchbase Query service

      Query

      /opt/couchbase/bin/

      goport (5 copies)

      Process that acts as a bridge between ns_server (Erlang) and the other server components (cbq- engine, cbft, etc.) which are written in Go

      Query

      /opt/couchbase/bin/

      gosecrets

      Service that is used to encrypt the cluster configuration stored on disk

      Core

      /opt/couchbase/bin/

      goxdcr

      Cross Data Center Replication (XDCR) - replicates data from one cluster to another

      Core

      /opt/couchbase/bin/

      indexer

      Index service

      Index

      /opt/couchbase/bin/

      memcached

      Data service responsible for storing user data

      Core

      /opt/couchbase/bin/

      godu (2 copies)

      Utility in Go to get disk usage stats

      Core

      /opt/couchbase/bin/priv/

      projector

      Extracts secondary key from documents

      Core

      /opt/couchbase/bin/

      saslauthd-port

      Erlang port process (wrapper) used to talk to the saslauthd daemon for authentication purposes

      Core

      /opt/couchbase/bin/

      beam.smp (3 copies)

      Couchbase cluster manager run as Erlang virtual machines - babysitter, ns_server, and ns_couchdb

      Core

      /opt/couchbase/lib/erlang/erts-5.10.4.0.0.1/bin/

      epmd

      Erlang-specific process which acts as a name server for Erlang distribution

      Core

      /opt/couchbase/bin/

      cpu_sup (2 copies)

      Erlang-specific process used to collect CPU: 1 for ns_server VM and 1 for ns_couchdb VM

      Core

      /opt/couchbase/lib/erlang/lib/os_mon-2.2.14/priv/bin/

      memsup (2 copies)

      Erlang-specific process used to collect memory usage: 1 for ns_server VM and 1 for ns_couchdb VM

      Core

      /opt/couchbase/lib/erlang/lib/os_mon-2.2.14/priv/bin/

      inet_gethost (2 copies)

      Built-in Erlang port process that is used to perform name service lookup

      Core

      /opt/couchbase/lib/erlang/erts-5.10.4.0.0.1/bin/

      portsigar

      Open source tool sigar that is used to collect system information

      Core

      /opt/couchbase/bin/

      sh -s disksup (2 copies)

      Erlang-specific process that is used to supervise the available disk space: 1 for ns_server VM and 1 for ns_couchdb VM

      Core

      /opt/couchbase/lib/erlang/lib/os_mon-2.2.14/ebin/

      sh -s ns_disksup

      Wrapper for disksup which also collects information about mounted drives

      Core

      /opt/couchbase/lib/ns_server/erlang/lib/ns_server/ebin/

      cbcollect_info

      Utility used to collect Couchbase server logs (will be seen only during log collection)

      Core

      /opt/couchbase/bin/

      eventing-producer (1 copy)

      Eventing supervisor service (one instance per node)

      Eventing

      /opt/couchbase/bin/

      eventing-consumer (n copies)

      Eventing worker (multiple instances per node). Instance count is configured in UI.

      Eventing

      /opt/couchbase/bin/

      java (Analytics Driver)

      JVM running the Analytics NC and CC

      Analytics

      /opt/couchbase/lib/cbas/runtime/bin

      cbas

      Go-wrapper that communicates with ns_server and manages the lifecycle of the Analytics Driver

      Analytics

      /opt/couchbase/bin/