Adding new Dgraph nodes

You can add new Dgraph nodes to BDD to expand your Dgraph cluster.

Note: You can also add new Data Processing nodes; for more information, see Adding new Data Processing nodes. You can't add more WebLogic Server nodes without reinstalling.

To add a new Dgraph node:

  1. On the Admin Server, go to $BDD_HOME/BDD_manager/bin and stop BDD:
    ./bdd-admin.sh stop [-t <minutes>]
  2. Select a node in your cluster to move the Dgraph to.
    If your databases are on HDFS/MapR-FS, this must be an HDFS DataNode.
  3. If BDD is currently installed on the selected node, verify that the following directories are present and copy over any that are missing:
    • $BDD_HOME/common/edp
    • $BDD_HOME/dataprocessing
    • $BDD_HOME/dgraph
    • $BDD_HOME/logs/edp
    If BDD isn't installed on the selected node:
    1. Create a new $BDD_HOME directory on the node.
    2. Set the permissions of $BDD_HOME to 755 and the owner to the bdd user.
    3. Copy the following directories from an existing Dgraph node to the new one:
      • $BDD_HOME/BDD_manager
      • $BDD_HOME/common
      • $BDD_HOME/dataprocessing
      • $BDD_HOME/dgraph
      • $BDD_HOME/logs
      • $BDD_HOME/uninstall
      • $BDD_HOME/version.txt
    4. Create a symlink $ORACLE_HOME/BDD pointing to $BDD_HOME.
  4. If you have MapR and the new Dgraph node isn't part of your MapR cluster, install the MapR Client on it.
    For instructions, see Installing the MapR Client in MapR's documentation.
  5. If your databases are on HDFS, install the HDFS NFS Gateway service (called the MapR NFS in MapR) on the new node.
    For instructions, refer to the documentation for your Hadoop distribution.
  6. If you have to host the Dgraph on the same node as Spark (or any other memory-intensive process), set up cgroups so that the Dgraph will have access to the resources it requires.
    For instructions, see Setting up cgroups for the Dgraph.
  7. Clean up the ZooKeeper index.
  8. On the Admin Server, copy $BDD_HOME/BDD_manager/conf/bdd.conf to a new location. Open the copy in a text editor and update the following properties:
    Property Description
    DGRAPH_ SERVERS The hostnames of all Dgraph servers. Add the new node to this list. Be sure to use its FQDN.
    DGRAPH_ THREADS The number of threads the Dgraph starts with. Verify that this setting is still accurate. It should be the number of CPU cores on the Dgraph nodes minus the number required to run HDFS and any other Hadoop services.
    DGRAPH_CACHE The size of the Dgraph cache. Verify that this setting is still accurate. It should either be 50% of the machine's RAM or the total amount of free memory, whichever is larger.
    DGRAPH_ENABLE_ CGROUP Enables cgroups for the Dgraph. This must be set to TRUE if you created a Dgraph cgroup. You must also set DGRAPH_CGROUP_NAME.
    DGRAPH_CGROUP_ NAME The name of the cgroup that controls the Dgraph. This is required if DGRAPH_ENABLE_CGROUP is set to TRUE.
    NFS_GATEWAY_ SERVERS The hostnames of all NFS Gateway nodes. If you installed the NFS Gateway service on the new node, add its FQDN to this list.
  9. To populate your configuration changes to the rest of the cluster, go to $BDD_HOME/BDD_manager/bin and run:
    ./bdd-admin.sh publish-config bdd <path>
    Where <path> is the absolute path to the updated copy of bdd.conf.
  10. Start your cluster:
    ./bdd-admin.sh start