Starting Administration CLI

The runadmin utility provides the Admin command-line interface (CLI). When a KVLocal instance is running, an admin client can connect to the KVLocal store using the following command:

java -jar <KVHOME>/lib/kvstore.jar runadmin -port 5000 -host localhost

Where, <KVHOME> refers to the directory where Oracle NoSQL Database package files reside.

Note:

When using Unix domain socket to connect to KVLocal, specify the hostname in this form: unix_domain:KVROOT/sockets/sock. For example, if the KVROOT directory is /disk1/kvroot, run the following command to start the Administration CLI:
java -jar <KVHOME> /lib/kvstore.jar runadmin -port 5000 -host unix_domain:/disk1/kvroot/sockets/sock

Setting JE Parameters for KVLocal

JE is the storage engine for KVLocal. KVLocal is a wrapper around JE and emulates a single replication node from the NoSQL Database Cluster. Hence, one interacts with KVLocal as though it were a single node NoSQL Database.

You can set the JE parameters for a KVLocal instance using the Replication Node (RN) parameter, configProperties=<String>. It contains property settings for the underlying BDB JE subsystem. Its format is property=value;property=value....

Before setting the JE parameters, you first need to determine the current settings in the KVLocal instance. To determine the current settings of configProperties, enter the Admin CLI show parameters -service name command as follows:
kv-> show parameters -service rg1-rn1;
...
...
configProperties=je.cleaner.threads 1; 
je.rep.insufficientReplicasTimeout 100 ms; 
je.env.runEraser true; 
je.erase.deletedDatabases true; 
je.erase.extinctRecords true; 
je.erase.period 6 days; 
je.env.runBackup false;
je.backup.schedule 0 8 * * *; 
je.backup.copyClass oracle.nosql.objectstorage.backup.BackupObjectStorageCopy; 
je.backup.copyConfig /var/lib/andc/config/params/backup.copy.properties; 
je.backup.locationClass oracle.nosql.objectstorage.backup.BackupObjectStorageLocation; 
je.backup.locationConfig /var/lib/andc/config/params/backup.location.properties; 
je.rep.electionsOpenTimeout=2 s; 
je.rep.electionsReadTimeout=2 s; 
je.rep.feederTimeout=3 s; 
je.rep.heartbeatInterval=500; 
je.rep.replicaTimeout=3 s; 
je.rep.repstreamOpenTimeout=2 s;...
...

To set or modify a JE parameter, enter the Admin CLI plan change-parameters -service <id> command.

For example, if your configProperties for Replication Node is set to:
"configProperties=je.cleaner.minUtilization=40;">
And you want to add new settings for configProperties, you need to issue the following command:
kv-> plan change-parameters -all-rns -params \
     "configProperties=je.cleaner.minUtilization=50;\
     je.env.runVerifier=false;">

Changing KVLocal JVM Memory Parameters

You can change the JVM memory settings for KVLocal using javaRnParamsOverride=<String> parameter. It accepts a string that is added to the command line when the child process is started. This parameter is intended for specifying miscellaneous JVM properties that cannot be specified using other RN parameters. If the string is not a valid sequence of tokens for the JVM command line, the Replication Node process fails to start.

To determine the current settings of javaRnParamsOverride and configProperties parameters, enter the Admin CLI show parameters -service name command as follows:
kv-> show parameters -service rg1-rn1;
For example, if you want to increase the JVM memory, use the plan change-parameters command from the Admin CLI, as follows:
kv-> plan change-parameters -wait -all-admins  -params \
javaRnParamsOverride="-Xms2048m -Xmx2048m-XX:ParallelGCThreads=4"