brooklyn.entity.nosql.cassandra.CassandraNode Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of brooklyn-software-nosql Show documentation
Show all versions of brooklyn-software-nosql Show documentation
Brooklyn entities for NoSQL data store software entities
/*
* Copyright 2012-2013 by Cloudsoft Corp.
*/
package brooklyn.entity.nosql.cassandra;
import brooklyn.config.ConfigKey;
import brooklyn.entity.basic.SoftwareProcess;
import brooklyn.entity.java.UsesJmx;
import brooklyn.entity.proxying.ImplementedBy;
import brooklyn.event.basic.BasicAttributeSensor;
import brooklyn.event.basic.BasicAttributeSensorAndConfigKey;
import brooklyn.event.basic.BasicConfigKey;
import brooklyn.event.basic.PortAttributeSensorAndConfigKey;
import brooklyn.location.basic.PortRanges;
import brooklyn.util.flags.SetFromFlag;
/**
* An {@link brooklyn.entity.Entity} that represents a Cassandra node in a {@link CassandraCluster}.
*/
@ImplementedBy(CassandraNodeImpl.class)
public interface CassandraNode extends SoftwareProcess, UsesJmx {
@SetFromFlag("version")
BasicConfigKey SUGGESTED_VERSION = new BasicConfigKey(SoftwareProcess.SUGGESTED_VERSION, "1.2.2");
@SetFromFlag("downloadUrl")
BasicAttributeSensorAndConfigKey DOWNLOAD_URL = new BasicAttributeSensorAndConfigKey(
SoftwareProcess.DOWNLOAD_URL, "${driver.mirrorUrl}/${version}/apache-cassandra-${version}-bin.tar.gz");
/** download mirror, if desired */
@SetFromFlag("mirrorUrl")
ConfigKey MIRROR_URL = new BasicConfigKey(String.class, "cassandra.install.mirror.url", "URL of mirror", "http://www.mirrorservice.org/sites/ftp.apache.org/cassandra");
@SetFromFlag("tgzUrl")
ConfigKey TGZ_URL = new BasicConfigKey(String.class, "cassandra.install.tgzUrl", "URL of TGZ download file");
@SetFromFlag("clusterName")
BasicAttributeSensorAndConfigKey CLUSTER_NAME = CassandraCluster.CLUSTER_NAME;
@SetFromFlag("gossipPort")
PortAttributeSensorAndConfigKey GOSSIP_PORT = new PortAttributeSensorAndConfigKey("cassandra.gossip.port", "Cassandra Gossip communications port", PortRanges.fromString("7000+"));
@SetFromFlag("sslGgossipPort")
PortAttributeSensorAndConfigKey SSL_GOSSIP_PORT = new PortAttributeSensorAndConfigKey("cassandra.ssl-gossip.port", "Cassandra Gossip SSL communications port", PortRanges.fromString("7001+"));
@SetFromFlag("thriftPort")
PortAttributeSensorAndConfigKey THRIFT_PORT = new PortAttributeSensorAndConfigKey("cassandra.thrift.port", "Cassandra Thrift RPC port", PortRanges.fromString("9160+"));
@SetFromFlag("cassandraConfigTemplateUrl")
BasicAttributeSensorAndConfigKey CASSANDRA_CONFIG_TEMPLATE_URL = new BasicAttributeSensorAndConfigKey(
String.class, "cassandra.config.templateUrl", "Template file (in freemarker format) for the cassandra.yaml config file",
"classpath://brooklyn/entity/nosql/cassandra/cassandra.yaml");
@SetFromFlag("cassandraConfigFileName")
BasicAttributeSensorAndConfigKey CASSANDRA_CONFIG_FILE_NAME = new BasicAttributeSensorAndConfigKey(
String.class, "cassandra.config.fileName", "Name for the copied config file", "cassandra.yaml");
BasicAttributeSensor TOKEN = new BasicAttributeSensor(Long.class, "cassandra.token", "Cassandra Token");
BasicAttributeSensor PEERS = new BasicAttributeSensor(Integer.class, "cassandra.peers", "Number of peers in cluster");
/* Metrics for read/write performance. */
BasicAttributeSensor READ_PENDING = new BasicAttributeSensor(Long.class, "cassandra.read.pending", "Current pending ReadStage tasks");
BasicAttributeSensor READ_ACTIVE = new BasicAttributeSensor(Integer.class, "cassandra.read.active", "Current active ReadStage tasks");
BasicAttributeSensor READ_COMPLETED = new BasicAttributeSensor(Long.class, "cassandra.read.completed", "Total completed ReadStage tasks");
BasicAttributeSensor WRITE_PENDING = new BasicAttributeSensor(Long.class, "cassandra.write.pending", "Current pending MutationStage tasks");
BasicAttributeSensor WRITE_ACTIVE = new BasicAttributeSensor(Integer.class, "cassandra.write.active", "Current active MutationStage tasks");
BasicAttributeSensor WRITE_COMPLETED = new BasicAttributeSensor(Long.class, "cassandra.write.completed", "Total completed MutationStage tasks");
ConfigKey SEEDS = CassandraCluster.SEEDS;
Integer getGossipPort();
Integer getSslGossipPort();
Integer getThriftPort();
String getClusterName();
String getSeeds();
Long getToken();
void setToken(String token);
}