Skip to content

Software requirements

Stephen von Takach edited this page Dec 19, 2016 · 9 revisions

There are 3 primary components:

  1. Engine Application (Ruby based)
  2. Database (Couchbase)
  3. Search Engine (ElasticSearch)

Engine Requirements

  1. Ruby Installation
  2. Libuv installation requires python 2.x to be installed and available on the PATH
  3. If the following commands succeed then the core ruby dependencies are installed
  4. gem install bundler
  5. gem install rails
  6. gem install libuv
  7. gem install libcouchbase

Windows users will additionally require:

  • A copy of Visual Studio 2010 or later. Visual Studio Express works fine.
  • A copy of OpenSSL matching the installed ruby (x86 / x64)
  • If using jRuby then GCC is also required
    • Setup the paths as described on the gcc page
    • Add required environmental variable set LIBRARY_PATH=X:\win-builds-64\lib;X:\win-builds-64\x86_64-w64-mingw32\lib

Couchbase and ElasticSearch

  • Couchbase is the persistent source of truth in the system
  • ElasticSearch is not a critical component and is only used for management
  • ElasticSearch data is pulled directly from Couchbase - it is safe to delete ElasticSearch indexes
  • Couchbase can be live updated with minimal disruption to a running system

Basic Setup

  1. Install Couchbase and create a new cluster
  2. Download ElasticSearch and install the following plugins / helpers
  3. https://github.com/mobz/elasticsearch-head
  4. https://github.com/couchbaselabs/elasticsearch-transport-couchbase
  5. Configure ElasticSearch transport Couchbase
  1. Configure ElasticSearch
  1. XDCR (cross datacenter replicate) the data from Couchbase to ElasticSearch