Revision as of 01:01, March 9, 2016 by Sschlich (talk | contribs)
Jump to: navigation, search

Maintaining your Cassandra database

You should perform regular maintenance on your Feature Server Cassandra database, to be certain that the database and its backups are all in sync. When any of these events occur, run the corresponding maintenance software routine:

Run weekly on all Feature Server nodes

You can perform this procedure:

STEVE ASKS: Are machine and site names and directories phony? They must be.

cd /''companyname''/fs/work/jetty0.0.0.08080fs.
war_
fsany/
webapp/WEBINF/
lib
java cp
libthrift0.7.0.
jar:cassandrathrift1.1.6.
jar:commonscli1.1.
jar:cassandraall1.1.6.
jar org.apache.cassandra.tools.NodeCmd h
localhost p
9192 repair

Run after a Feature Server restart

You can trigger a restart by adding or removing Feature Server nodes, in a new or existing data center.

STEVE ASKS: How do I run this procedure: Command line? app?

cd /genesys/fs/work/jetty0.0.0.08080fs.
war_
fsany/
webapp/WEBINF/
lib
java cp
libthrift0.7.0.
jar:cassandrathrift1.1.6.
jar:commonscli1.1.
jar:cassandraall1.1.6.
jar org.apache.cassandra.tools.NodeCmd h
localhost p
9192 repair

Running Nodetool on a Feature Server Host

The nodetool is a Cassandra utility for managing a Cassandra cluster.

  1. Change current directory to <Feature Server Installation Directory>/work/jetty-<vms_host>-<port>-fs.war-_fs-any-/webapp/WEB-INF/lib
    where
    • <Feature Server Installation Directory> The directory where Feature Server is where Feature Server is installed for your company.
    • <vms_host> is the IP address of the vms host parameter that Feature Server started with, defined in launcher.xml or in command line, default 0.0.0.0.
    • <port> is the port number that Feature Server started with, defined in launcher.xml, default 8080.
  2. Run the nodetool utility
    • Linux: (.jar separated by “:”)
      • java -cp libthrift-0.7.0.jar:cassandra-thrift-1.1.6.jar:commons-cli-1.1.jar:cassandra-all-1.1.6.jar org.apache.cassandra.tools.NodeCmd -h localhost -p <jmx_port> <nodetool command>
    • Windows: (.jar separated by “;”)
      • java -cp libthrift-0.7.0.jar;cassandra-thrift-1.1.6.jar;commons-cli-1.1.jar;cassandra-all-1.1.6.jar org.apache.cassandra.tools.NodeCmd -h localhost -p <jmx_port> <nodetool command>
       
      where
    • <jmx_port> is the JMX port number that Feature Server started with, defined in launcher.xml. Default=9192.
    • <nodetool command> = ring [keyspace name]| removetoken <token> | repair | flush

For example, the following command line runs nodetool and sends <nodetool command> ring to Feature Server running on the local host: cd companyname/fs/work/jetty-0.0.0.0-8080-fs.war-_fs-any-/webapp/WEB-INF/lib java -cp libthrift-0.7.0.jar:cassandra-thrift-1.1.6.jar:commons-cli-1.1.jar:cassandra-all-1.1.6.jar org.apache.cassandra.tools.NodeCmd -h localhost -p 9192 ring sipfs




Ring Maintenance

When you remove a node from the ring, you must also remove the corresponding tokens. Use these software procedures:

STEVE ASKS: How do these procedures know which Cassandra database to modify?

Run nodetool ring to obtain tokens

java cp
libthrift0.7.0.
jar:cassandrathrift1.1.6.
jar:commonscli1.1.
jar:cassandraall1.1.6.
jar org.apache.cassandra.tools.NodeCmd h
localhost p
9192 ring
10.51.29.117 usw1 RAC2 Up Normal 1.29 MB 100.00% 26003787676682001822918611294472056316
10.51.28.221 usw1 RAC1 Up Normal 1.17 MB 66.65% 167086018864645871692761019448293152722
10.52.89.189 aps2 RAC1 Down Normal 1.15 MB 25.90% 41007983964572150951275225962045789866
10.52.88.190 aps2 RAC2 Down Normal 1.16 MB 7.45% 53685600614278234503162023330018045221

Run nodetool removetoken to remove nodes from the ring

java cp
libthrift0.7.0.
jar:cassandrathrift1.1.6.
jar:commonscli1.1.
jar:cassandraall1.1.6.
jar org.apache.cassandra.tools.NodeCmd h
localhost p
9192 removetoken53685600614278234503162023330018045221
java cp
libthrift0.7.0.
jar:cassandrathrift1.1.6.
jar:commonscli1.1.
jar:cassandraall1.1.6.
jar org.apache.cassandra.tools.NodeCmd h
localhost p
9192 removetoken41007983964572150951275225962045789866

Run nodetool repair

java cp
libthrift0.7.0.
jar:cassandrathrift1.1.6.
jar:commonscli1.1.
jar:cassandraall1.1.6.
jar org.apache.cassandra.tools.NodeCmd h
localhost p
9192 repair

Run nodetool ring to validate updated topology

java cp
libthrift0.7.0.
jar:cassandrathrift1.1.6.
jar:commonscli1.1.
jar:cassandraall1.1.6.
jar org.apache.cassandra.tools.NodeCmd h
localhost p
9192 ring sipfs
10.51.29.117 usw1 RAC2 Up Normal 1.31 MB 100.00% 26003787676682001822918611294472056316
10.51.28.221 usw1 RAC1 Up Normal 1.3 MB 100.00% 167086018864645871692761019448293152722

Ring Maintenance

Nodetool is a Cassandra utility embedded in Feature Server. To run nodetool:

1. Change directories to
<Feature Server Installation Directory>/work/jetty-<vms_host>-<port>-fs.war-_fs-any-/webapp/WEB-INF/lib
For example: mycompany/fs/work/jetty-0.0.0.0-8080-fs.war-_fs-any-/webapp/WEB-INF/lib

  • <Feature Server Installation Directory> The directory where Feature Server is where Feature Server is installed for your company.
  • <vms_host> is the IP address of the vms host that Feature Server started with, default 0.0.0.0.
  • <port> is the port number that Feature Server started with, default 8080.

2. Run the nodetool utility by issuing this command:
java -cp libthrift-0.7.0.jar:cassandra-thrift-1.1.6.jar:commons-cli-1.1.jar:cassandra-all-1.1.6.jar org.apache.cassandra.tools.NodeCmd -h localhost -p 9192 <nodetool command>
<nodetool command> can be ring [keyspace name], removetoken, repair, and others.

Comments or questions about this documentation? Contact us for support!