=======
MongoDB
=======
MongoDB (from "humongous") is an open-source document database, and the leading NoSQL database. Written in C++.
Available states
================
.. contents::
:local:
``mongodb.server``
--------------------
Setup MongoDB server
Available metadata
==================
.. contents::
:local:
``metadata.mongodb.server.single``
----------------------------------
Single-node MongoDB setup
``metadata.mongodb.server.cluster``
-----------------------------------
Clustered MongoDB setup
Configuration parameters
========================
Example reclass
===============
Setup MongoDB with database for ceilometer.
.. code-block:: yaml
classes:
- service.mongodb.server.cluster
parameters:
_param:
mongodb_server_replica_set: ceilometer
mongodb_ceilometer_password: cloudlab
mongodb_admin_password: cloudlab
mongodb_shared_key: xxx
mongodb:
server:
database:
ceilometer:
enabled: true
password: ${_param:mongodb_ceilometer_password}
users:
- name: ceilometer
password: ${_param:mongodb_ceilometer_password}
Sample pillars
==============
Simple single server
.. code-block:: yaml
mongodb:
server:
enabled: true
bind:
address: 0.0.0.0
port: 27017
admin:
username: admin
password: magicunicorn
database:
dbname:
enabled: true
encoding: 'utf8'
users:
- name: 'username'
password: 'password'
Cluster of 3 nodes
.. code-block:: yaml
mongodb:
server:
enabled: true
logging:
verbose: false
logLevel: 1
oplogLevel: 0
admin:
user: admin
password: magicunicorn
master: mongo01
members:
- host: 192.168.1.11
priority: 2
- host: 192.168.1.12
- host: 192.168.1.13
replica_set: default
shared_key: magicunicorn
It's possible that first Salt run on master node won't pass correctly before
all slave nodes are up and ready.
Simply run salt again on master node to setup cluster, databases and users.
To check cluster status, execute following:
.. code-block:: bash
mongo 127.0.0.1:27017/admin -u admin -p magicunicorn --eval "rs.status()"
Read more
=========
* http://docs.mongodb.org/manual/
* http://docs.mongodb.org/manual/tutorial/install-mongodb-on-ubuntu/
* https://www.linode.com/docs/databases/mongodb/creating-a-mongodb-replication-set-on-ubuntu-12-04-precise