If SSL encryption is enabled on the cluster, the sstableloader restores might fail. To run the restore operation if SSL encryption is enabled, you can configure the Cassandra.yaml file.
Procedure
-
From the Command Center navigation pane, go to Protect > Big data.
The Big data page appears.
-
Click Cassandra.
-
In the Name column, click the cluster that you want to enable commit log backups for.
The cluster page appears.
-
On the Configuration tab, in the Authentication tile, click Edit for SSL authentication.
The Edit SSL Authentication dialog box appears.
-
Mention keystore and truststore paths relative to the host, and then click Save.
-
In the Cassandra.yaml file, mention keystore and truststore paths relative to the container.
-
Copy Cassandra.yaml file to any other directory, and then change the keystore and truststore paths to the paths relative to the host.
-
In the Nodes tile, select a node that you want to configure, and then click Edit node.
The Edit node dialog box appears.
-
In the Cassandra configuration file path box, enter the path in the following format :
$[path to actual Cassandra.yaml file]:$[path where Cassandra.yaml is copied and edited with paths relative to host]
For example, if the path to actual Cassandra.yaml file is /home/actual/ and path where Cassandra.yaml file is copied and edited with paths relative to the host is /home/cluster_1/, then /home/actual/:/home/cluster_1/ is the Cassandra configuration file path.
-
Click Save.
Examples
-
Sample docker-compose.yml file that maps the Cassandra config and data directory between Cassandra docker container and Commvault host computer:
version: '$[2]' services: cassandra: image: "$[ datastax/dse-server:6.0.4 ]" network_mode: $[host] restart: $[always] cap_add: - $[IPC_LOCK] volumes: # The :Z is added as per http://www.projectatomic.io/blog/2015/06/using-volumes-with-docker-can-cause-problems-with-selinux/ - $[./data:/var/lib/cassandra] - $[./config:/config] environment: - DS_LICENSE=$[accept] #JVM_EXTRA_OPTS: $[-Xms1024M -Xmx1024M] - NUM_TOKENS=$[256] - CLUSTER_NAME=$[docker-cassandra] -
Sample procedure to create a link /tmp/sstableloader to the actual location of the Cassandra docker container:
[root@rh76 bin]# ln -s $[/var/lib/docker/overlay2/31f688774d1136f4c872056f8dddc028339ef426a863f872df0a58c93f0e76f5/merged/opt/dse/resources/cassandra/bin/sstableloader] $[/tmp/sstableloader] [root@rh76 bin]# ls -lrt |grep sstableloader lrwxrwxrwx. 1 root root 142 Sep 19 16:16 sstableloader - > /var/lib/docker/overlay2/31f688774d1136f4c872056f8dddc028339ef426a863f872df0a58c93f0e76f5/merged/opt/dse/resources/cassandra/bin/sstableloader [root@rh76 cassandra]# export DSE_ENV =$[/ var/lib/docker/overlay2/c031522bd788291b8ceb92958f3f4804928c347e6e1d77c1251e9e98ddd91670/diff/opt/dse/bin/dse-env.sh] [root@rh76 cassandra]# export DSE_HOME =$[/var/lib/docker/overlay2/c031522bd788291b8ceb92958f3f4804928c347 e6e1d77c1251e9e98ddd91670/diff/opt/dse/]/ etc/Priam/cvPriam.properties file:
priam.cass.process=$[cassandra] priam.cass.startscript=$[docker start] priam.cass.stopscript=$[docker stop] priam.commitlog.location=$[/var/lib/cassandra/commitlog] priam.cqlhost=$[172.x.x.x] priam.cqlport=$[9042] priam.data.location=$[/var/lib/cassandra/data] priam.jmxport=$[7199] priam.ssl.storage.port=$[7001] priam.sstableloader.path=$[/tmp/sstableloader] priam.storage.port=$[7000] priam.thrift.port=$[9160] priam.use.native.sstableloader=$[true]