From 7562901d5cca0e7f99b1e251e6cd519e088d09da Mon Sep 17 00:00:00 2001 From: troymc Date: Mon, 20 Jun 2016 15:48:01 +0200 Subject: [PATCH] Docs: during cluster setup, must set replication factor --- docs/source/clusters-feds/federation-set-up.md | 11 +++++++---- docs/source/nodes/setup-run-node.md | 11 ++++++----- 2 files changed, 13 insertions(+), 9 deletions(-) diff --git a/docs/source/clusters-feds/federation-set-up.md b/docs/source/clusters-feds/federation-set-up.md index 3fbe97be..eaed6c40 100644 --- a/docs/source/clusters-feds/federation-set-up.md +++ b/docs/source/clusters-feds/federation-set-up.md @@ -13,15 +13,18 @@ This section is about how to set up and run a BigchainDB _federation_, where eac ## Set Up the Initial Cluster -When you first start a federation cluster, the initial nodes will all start at roughly the same time. +The federation must decide some things before setting up the initial cluster (initial set of BigchainDB nodes): -The steps to set up a cluster node are outlined in the section titled [Set Up and Run a Node](../nodes/setup-run-node.html). You'll need two pieces of information from all other nodes in the federation: +1. Who will operate a node in the initial cluster? +2. What will the replication factor be? (It must be 3 or more for [RethinkDB failover](https://rethinkdb.com/docs/failover/) to work.) +3. Which node will be responsible for sending the commands to configure the RethinkDB database? + +Once those things have been decided, each node operator can begin setting up their BigchainDB node. +The steps to set up a cluster node are outlined in the section titled [Set Up and Run a Node](../nodes/setup-run-node.html). Each node operator will eventually need two pieces of information from all other nodes in the federation: 1. Their RethinkDB hostname, e.g. `rdb.farm2.organization.org` 2. Their BigchainDB public key, e.g. `Eky3nkbxDTMgkmiJC8i5hKyVFiAQNmPP4a2G4JdDxJCK` -One node must be chosen as the "designated fist node": they must run some RethinkDB configuration commands after all nodes have started RethinkDB, but before any node has started BigchainDB. - ## Documentation to Come diff --git a/docs/source/nodes/setup-run-node.md b/docs/source/nodes/setup-run-node.md index a906b913..a467bc48 100644 --- a/docs/source/nodes/setup-run-node.md +++ b/docs/source/nodes/setup-run-node.md @@ -213,17 +213,18 @@ bigchaindb start ### Cluster Node -After all the cluster nodes have started RethinkDB, but before they start BigchainDB, a designated cluster node has to do some RethinkDB cluster configuration by running the following two commands: +After all the cluster nodes have started RethinkDB, but before they start BigchainDB, one designated cluster node must configure the RethinkDB database by running the following commands: ```text bigchaindb init bigchaindb set-shards numshards +bigchaindb set-replicas numreplicas ``` -where `numshards` should be set equal to the number of nodes expected to be in the cluster (i.e. once all currently-expected nodes have joined). +* `bigchaindb init` creates the database within RethinkDB, the tables, the indexes, and the genesis block. +* `numshards` should be set to the number of nodes in the initial cluster. +* `numreplicas` should be set to the database replication factor decided by the federation. It must be 3 or more for [RethinkDB failover](https://rethinkdb.com/docs/failover/) to work. -(The `bigchain init` command creates the database within RethinkDB, the tables, the indexes, and the genesis block.) - -Once the designated node has run the above two commands, every node can start BigchainDB using: +Once the RethinkDB database is configured, every node can start BigchainDB using: ```text bigchaindb start ```