Installation Configuration Parameters

Before you configure Oracle NoSQL Database, you should determine the following parameters for each Storage Node in the data store. Each of these parameters are directives to use with the makebootconfig utility:

  • root

    Where the KVROOT directory should reside. The KVROOT directory stores the data of your data store and security related information. There should be enough disk space on each Storage Node to hold the data to be stored in your data store. The KVROOT disk space requirements can be reduced if the storagedir parameter is used to store the data at a different location outside the KVROOT directory. It is recommended that you make the KVROOT directory the same local directory path on each Storage Node (but not a shared or NFS mounted directory).

  • port

    The TCP/IP port through which the Storage Node connects to the Oracle NoSQL Database. This port should be free (unused) on each Storage Node. The default port used in all examples is 5000. This port is sometimes referred to as the registry port.

  • harange

    The replication nodes and Admin process use the harange (high availability range) ports to communicate between each other. For each Storage Node in the data store, specify sequential port numbers, one port for each replication node on the Storage Node, plus an additional port if the Storage Node hosts an Admin. Specify the port range as startPort,endPort.

  • servicerange

    A range of ports that a Storage Node uses to communicate with other administrative services and its managed services. Some of the managed services are the replication nodes for every Storage Node. This optional parameter is useful when Storage Node services must use specific ports for a firewall or other security purposes. By default, the services use anonymous ports. Specify the port range as startPort,endPort. For more information, see Storage Node Parameters.

  • store-security

    Specifies whether security is in use. While this is an optional parameter, it is strongly advised that you configure Oracle NoSQL Database with security enabled.

    Specifying none indicates that security will not be in use.

    Specifying configure indicates that you want to configure a secure data store. The makebootconfig process will then invoke the securityconfig utility as part of its operation.

    Specifying enable indicates security will be in use. However, you will need to either explicitly configure security by utilizing the security configuration utility(securityconfig), or copy a previously created security configuration from another system.

    Note:

    If you do not specify the -store-security parameter, security is configured by default. To complete a secure installation, you must use the securityconfig utility to create the security folder before starting up the Storage Node Agents.

  • capacity

    The total number of replication nodes the Storage Node can support. Capacity is an optional, but extremely important parameter, representing the number of replication nodes. If the Storage Node you are configuring has the resources to support more than one replication node, set the capacity value to the appropriate number. To host a replication node successfully to handle peak run time demand, you need sufficient disk, cpu, memory, and network bandwidth .

    To have your Storage Node host Arbiter Nodes, set the capacity to 0 . A Storage Node with capacity 0 will be allocated as Arbiter Nodes whenever required. For more information see Deploying an Arbiter Node Enabled Topology.

    Consider the following configuration settings for Storage Nodes with a capacity greater than one:

    1. It is recommended that you configure each Storage Node with a capacity equal to the number of available disks on the machine. Such a configuration permits the placement of each replication node on its own disk, ensuring that replication nodes on the Storage Node are not competing for I/O resources. The –storagedir parameter lets you specify the directory location for each replication node disk.

      For example:

      > java -Xmx64m -Xms64m \
          -jar $KVHOME/lib/kvstore.jar makebootconfig \
          -root /opt/ondb/var/kvroot \
          -port 5000 \
          -host node10
          -harange 5010,5025 \
          -capacity 3 \
          -admindir /disk1/ondb/admin01 \
          -admindirsize 5000_MB \
          -storagedir /disk1/ondb/data \
          -storagedir /disk2/ondb/data \
          -storagedir /disk3/ondb/data \
          -storagedirsize 1_tb \
          -rnlogdir /disk1/ondb/rnlog01 \
          -rnlogdir /disk2/ondb/rnlog02 \
          -rnlogdir /disk3/ondb/rnlog03 

      where -capacity 3 represents the number of replication nodes on the Storage Node (node10). The three replication nodes are in the corresponding disks (disk1, disk2, disk3).

    2. Increase the –harange parameter to support additional ports required for the replication and Admin Nodes.

    3. Increase the –servicerange parameter to account for the additional ports required by the replication nodes.

    If no value for capacity is specified, it defaults to 1.

  • storage-type

    Specifies the type of disk on which the storage directories reside. You can specify storage type only for a Storage Node and not for replication nodes. You can set one value for this parameter for a Storage Node. The valid values are HD, SSD, NVME and UNKNOWN.

    Note:

    The parameters storagedir and storagedirsize are specific to every replication node, whereas storage-type is specific to a Storage Node.
  • admindir

    The directory path to contain the environment associated with a Storage Node Admin process.

    It is strongly recommended that the Admin directory path resolves to a separate disk. You can accomplish this by creating suitable entries in the /etc/fstab directory that attaches the file system on disk to an appropriate location in the overall directory hierarchy. Placing the Admin environment on a separate disk ensures that the Admin is not competing for I/O resources. It also isolates the impact of a disk failure to a single environment.

    If you do not specify an explicit directory path for -admindir, the Admin environment files are located in this directory:
    $KVROOT/KVSTORE/<SNID>/<AdminId>/
  • admindirsize

    The size of the Admin storage directory. This is optional but recommended. For more information, see Managing Admin Directory Size.

  • storagedir

    A directory path that will contain the environment associated with a replication node. When the –capacity parameter is greater than 1, it is recommended that you specify a multiple set of –storagedir parameter values, one for each replication node that the Storage Node hosts. Each directory path should resolve to a separate disk. You can accomplish this by creating suitable entries in the /etc/fstab directory that attaches the file system on disk to an appropriate location in the overall directory hierarchy. Placing each environment on a separate disk ensures that the shards are not competing for I/O resources. It also isolates the impact of a disk failure to a single location.

  • storagedirsize

    The size of each storage directory. It is strongly recommended that you specify this parameter for each replication node. The Oracle NoSQL Database uses the storage directory size to enforce disk usage, using the –storagedirsize parameter value to calculate how much data to store on disk before suspending write activity. For more information, see Managing Storage Directory Sizes.

  • rnlogdir

    The directory path to contain the log files associated with a replication node. For capacity values greater than one, specify multiple rnlogdir parameters, one for each replication node that the Storage Node is hosting.

    It is recommended that each rnlogdir path resolves to a separate disk partition on a replication node. You can accomplish this by creating suitable entries in the /etc/fstab directory that attaches the file system on a disk to an appropriate location in the overall directory hierarchy. Placing rnlogdir in a distinct partition on the replication node ensures that metrics and errors can be reported and retained, even if the partition containing the data store log files is full. Separating the rnlogdir on a distinct partition also isolates the impact of losing complete replication node log files from a kvroot disk failure.

    If you do not specify a location for rnlogdir, logs are placed under the $KVROOT/KVSTORE/log directory by default.

  • num_cpus

    The total number of processors on the machine available to the replication nodes. This is an optional parameter, used to coordinate the use of processors across replication nodes. If the value is 0, the system queries the Storage Node to determine the number of processors on the machine. The default value for num_cpus is 0, and examples in this document use that value.

  • memory_mb

    The total number of megabytes of memory available to the replication node. The system uses the memory_mb value to guide specification of the replication node's heap and cache sizes. This calculation is more critical if a Storage Node hosts multiple replication nodes, and must allocate memory between these processes. If the value is 0, the system attempts to determine the amount of memory on the replication node. The default value for memory_mb is 0, and examples in this document use that value.

  • force

    Specifies that the command generates the boot configuration files, even if verifying the configuration against the system finds any inaccurate parameters. That means you force the creation of the boot configuration file, even if the value of any of the parameters discussed above ( like port, harange etc) is inaccurate.

See makebootconfig for more details.