-
Notifications
You must be signed in to change notification settings - Fork 2
Software requirements
Stephen von Takach edited this page Dec 19, 2016
·
9 revisions
There are 3 primary components:
- Engine Application (Ruby based)
- Database (Couchbase)
- Search Engine (ElasticSearch)
- Ruby Installation
- Libuv installation requires python 2.x to be installed and available on the PATH
- If the following commands succeed then the core ruby dependencies are installed
gem install bundler
gem install rails
gem install libuv
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 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
- Install Couchbase and create a new cluster
- Download ElasticSearch and install the following plugins / helpers
- https://github.com/mobz/elasticsearch-head
- https://github.com/couchbaselabs/elasticsearch-transport-couchbase
- Configure ElasticSearch transport Couchbase
- Configure ElasticSearch
- Apply the template: https://github.com/acaprojects/ruby-engine/blob/master/db/es_template.json
- Go here for a more detailed guide on performing these operations
- XDCR (cross datacenter replicate) the data from Couchbase to ElasticSearch
- http://developer.couchbase.com/documentation/server/4.5/xdcr/xdcr-create.html
- See the ElasticSearch transport Couchbase git repo for more configuration details