Configuring your data store installation

Once you determine your data store's configuration information as described in the previous section (see Installation Configuration Parameters), complete the following tasks to configure your data store.

  1. Create the initial bootconfig configuration file using the makebootconfig command. Do this on each Storage Node.

    Note:

    Using the makebootconfig command to create the configuration file is integrated with the Storage Node on which you run the command. Such integration, checks and validates all parameters and their values against the Storage Node environment before generating the boot configuration files. To bypass verifying any parameters or values for the boot configuration files, use the -force flag (makebootconfig -force).
    Following is an example of using makebootconfig, using a sample set of parameters and values. For a list of all the makebootconfig parameters, see makebootconfig.
    > mkdir -p $KVROOT 
    > java -Xmx64m -Xms64m \
    -jar $KVHOME/lib/kvstore.jar \
    makebootconfig -root $KVROOT \
                   -port 5000 \
                   -host $KVHOST \
                   -harange 5010,5020 \
                   -capacity 1 \
                   -admindir /export/admin \
                   -admindirsize 5000_MB \
                   -storagedir /export/data1 \
                   -storagedirsize 1_tb \
                   -rnlogdir /export/rnlogs

    Note:

    It is strongly recommended that you specify both storagedir and storagedirsize. If you specify the -storagedir parameter, but not -storagedirsize, makebootconfig displays a warning.

    When the store-security parameter is omitted from the makebootconfig command , a secure data store is configured by default. The makebootconfig command internally invokes the securityconfig tool to create the security directory and security related files. To configure a non secure data store, specify store-security none in the makebootconfig command. However it is recommended to configure a secure data store in production environments.

  2. Start the Oracle NoSQL Database Storage Node Agent (SNA) on each of the Oracle NoSQL Database Storage Nodes. The SNA manages the Oracle NoSQL Database administrative processes on each Storage Node. It also owns and manages the registry port, which is the main way to communicate with Oracle NoSQL Database on that Storage Node. Before starting the SNA, on each Storage Node, set the environment variable MALLOC_ARENA_MAX to 1. Doing this ensures that memory usage is restricted to the specified heap size. To start the SNA on each Storage Node use the start command as follows:

    nohup java -Xmx64m -Xms64m \
    -jar $KVHOME/lib/kvstore.jar start -root $KVROOT &

    Note:

    If the replication node or the Admin Service crashes, the SNA restarts the processes.

  3. Use the jps -m command to verify that the Oracle NoSQL Database processes are running :

    > jps -m
    2830534 kvstore.jar start -root $KVROOT
    2830645 ManagedService -root $KVROOT -secdir $KVROOT/security -class Admin 
    -service BootstrapAdmin.5000 -config config.xml
  4. Using ssh to reach the node, issue a ping command (in security mode) to be sure that the Oracle NoSQL Database client library can contact the Oracle NoSQL Database Storage Node Agent.

    Note:

    If your data store is a non secure one, the -security option in the below command can be omitted.
    ssh node01
    java -Xmx64m -Xms64m -jar $KVHOME/lib/kvstore.jar ping -host $KVHOST -port 5000 
    -security $KVROOT/security/client.security
    
    Login as: Anonymous (Enter any user name here)
    Anonymous's password: (Enter any password)
    
    SNA at hostname: node01, registry port: 5000 is not registered. 
    No further information is available 
    Can't find store topology: 
    Could not contact any RepNode at: [node01:5000]

    This return informs you, that only the Storage Node process is running on the Storage Node node01. Once Oracle NoSQL Database is fully configured, you can use the ping command again to get more details.

    If the client library cannot contact the SNA, the ping command displays this message:

    Unable to connect to the storage node agent at host <hostname>,
    port 5000, which may not be running; nested exception is:
    
    java.rmi.ConnectException: Connection refused to host: <hostname>;
    nested exception is:
    java.net.ConnectException: Connection refused
    Can't find store topology:
    Could not contact any RepNode at: [<hostname>:5000]
If the Storage Nodes do not start up, review the adminboot and snaboot logs in the $KVROOT directory to investigate what occurred and to help identify the problem. When the Storage Nodes have all started successfully, you can configure the data store.

Note:

For best results, configure your Storage Nodes so that the SNA starts automatically when the Storage Node boots up. The details of how to do this are beyond the scope of this document, because they depend on how your operating system is designed. See your operating system documentation for information about launching an application automatically at bootup.