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
indicates that you want to configure a secure data store. Theconfigure
makebootconfig
process will then invoke thesecurityconfig
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 thesecurityconfig
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:
-
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
). -
Increase the
–harange
parameter to support additional ports required for the replication and Admin Nodes. -
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
. -
-
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. Placingrnlogdir
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 thernlogdir
on a distinct partition also isolates the impact of losing complete replication node log files from akvroot
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 fornum_cpus
is0
, 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 is0
, the system attempts to determine the amount of memory on the replication node. The default value formemory_mb
is0
, 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.