Skip to content
aryanet edited this page May 21, 2012 · 13 revisions

Overview

You can choose to override the defaults configuration used by Priam by specifying properties. The defaults provided in this page are implemented by PriamConfiguration class. Refer below for properties that are specific to a instance types.

Setting up properties

PriamConfiguration looks for properties specified in the PriamProperties SimpleDB domain. To create a property, create an item with the following attributes (the item name is not important, but it may be beneficial to set it to cluster name + property name):

  • appId : Your cluster name
  • property: Name of the property
  • value: Property value

Cluster name is inferred from your ASG name( my_cluster). Multi zone clusters should have ASG suffixed with a zone identifier ‘-{zone}’ ( my_cluster-useast1a), i.e., {clustername}-{zone}.

Example: If you want to change the jmx port to 7200 for your cluster ‘my_cluster’, create the item:

  • Item name : my_clusterpriam.jmx.port
    • appId : my_cluster
    • property: priam.jmx.port
    • value: 7200

Properties used by Priam.

Ports

Property Default Description
priam.jmx.port 7199 JMX port
priam.thrift.port 9160 Thrift port
priam.storage.port 7000 Storage port used by Cassandra

Cassandra

Property Default Description
priam.clustername cass_cluster Name of the Cassandra cluster
priam.endpoint_snitch org.apache.cassandra.locator.Ec2Snitch End point snitch to be used in yaml
priam.multiregion.enable false Enables multi region if true
priam.zones.available First 3 zones in the region Comma separated list of zones where nodes are deployed.

JVM

Property Default Description
priam.memory.compaction.limit 128 MB
priam.compaction.throughput 8 MB/sec
priam.heap.size.$INSTANCETYPE 8G Cassandra heap size
priam.heap.newgen.size.$INSTANCETYPE 2G Cassandra New gen size
priam.direct.memory.size.$INSTANCETYPE 50G Cassandra direct mem size

Note: For the last three properties, $INSTANCETYPE should be replaced by the type of the instance you are setting the property for (e.g. m1.small for small instances). The defaults for these properties are tuned to the m1.xlarge instance type. If running on a smaller instance type and the properties are not changed, Cassandra will not be able to start due to lack of memory.

Directories and scripts

Property Default Description
priam.cass.home /etc/cassandra Cassandra home dir
priam.cass.startscript /etc/init.d/cassandra start Cassandra startup script
priam.cass.stopscript /etc/init.d/cassandra stop Cassandra stop script
priam.data.location /var/lib/cassandra/data Data directory
priam.cache.location /var/lib/cassandra/saved_caches Cache directory
priam.commitlog.location /var/lib/cassandra/commitlog Commit log directory

Backup and restore

Property Default Description
priam.backup.threads 2 Number of backup threads
priam.backup.hour 12 Backup hour to run daily snapshot
priam.backup.incremental.enable true Enables incremental backup if true
priam.backup.chunksizemb 10 (MB)Part size when uploading to S3
priam.restore.prefix Defaults to current cluster and backup bucket. Prefix to be used for locating backups.
priam.restore.snapshot Specifies the time range to be searched when restoring. Setting this param will trigger restore.
priam.s3.bucket cassandra-archive S3 bucket used for backups
priam.s3.base_dir backup Specify a base prefix that will be used for all backups
priam.restore.threads 8 Number of restore threads to be used
priam.restore.closesttoken false If specified, a closes token is searched in the backups for restoring
priam.restore.keyspaces Restores the specified keyspace. Do not set this to restore all keyspaces.
priam.upload.throttle defaults to Integer.MAX_VALUE Throttle MB/sec for uploads
Clone this wiki locally