bigchaindb/docs/source/clusters-feds/federation-set-up.md

1.8 KiB

Set Up and Run a Federation

This section is about how to set up and run a BigchainDB federation, where each node is operated by a different operator. If you want to set up and run a BigchainDB cluster on AWS (where all nodes are operated by you), then see the section about that.

Initial Checklist

  • Do you have a governance process for making federation-level decisions, such as how to admit new members?
  • What will you store in creation transactions (data payload)? Is there a data schema?
  • Will you use transfer transactions? Will they include a non-empty data payload?
  • Who will be allowed to submit transactions? Who will be allowed to read or query transactions? How will you enforce the access rules?

Set Up the Initial Cluster

When you first start a federation cluster, the initial nodes will all start at roughly the same time.

The steps to set up a cluster node are outlined in the section titled Set Up and Run a Node. You'll 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

  • Backing Up & Restoring data
  • Adding a node (including resharding etc.)
  • Removing a node
  • Logging
  • Node monitoring & crash recovery
  • Node Security
    • Securing your OS
    • Firewalls and security groups. Remember to open port 123 for NTP.
    • (Private) key management
    • RethinkDB security
  • Cluster monitoring
  • Internal watchdogs
  • External watchdogs