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.
    5. Optionally, remove the /dgraph directory from the old Dgraph node, as it's no longer needed.
      Leave the other directories, as they may still be useful.
  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 either the HDFS NFS Gateway service (called the MapR NFS in MapR) or FUSE on the new node.
    The option you should use depends on your Hadoop cluster. You must use the NFS Gateway if you have:
    • MapR
    • CDH 5.7.1
    • HDFS data at rest encryption enabled
    In all other cases, you can use either option. More information about each is available in the Installation Guide.
    To use the NFS Gateway, install it on the new Dgraph node. For instructions, refer to the documentation for your Hadoop distribution.
    To use FUSE:
    1. Download FUSE 2.8+ from https://github.com/libfuse/libfuse/releases.
    2. Extract fuse-<version>.tar.gz.
    3. Install FUSE by going to /fuse-<version> and running:
      ./configure
      make -j8
      make install
    4. Set the following permissions:
      • Add the bdd user to the fuse group.
      • Give the bdd user read and execute permissions for fusermount.
      • Give the bdd user read and write permissions for /dev/fuse.
  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.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 <path>
    Where <path> is the absolute path to the updated copy of bdd.conf.
  10. Start your cluster:
    ./bdd-admin.sh start