|
Brooklyn | |||||||
FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | METHOD | DETAIL: FIELD | METHOD |
brooklyn.entity.trait.Startablebrooklyn.entity.nosql.cassandra.CassandraCluster
brooklyn.entity.rebind.Rebindable
brooklyn.entity.Entity
brooklyn.entity.Group
brooklyn.entity.group.Cluster
brooklyn.entity.group.DynamicCluster
brooklyn.entity.trait.Changeable
brooklyn.entity.basic.AbstractGroup
brooklyn.entity.trait.Identifiable
brooklyn.entity.trait.Resizable
@Catalog(name="Apache Cassandra Database Cluster", description="Cassandra is a highly scalable, eventually " + "consistent, distributed, structured key-value store which provides a ColumnFamily-based data model " + "richer than typical key/value systems", iconUrl="classpath:///cassandra-logo.jpeg") @ImplementedBy(CassandraClusterImpl.class) public interface CassandraCluster extends DynamicCluster
A cluster of CassandraNodes based on DynamicCluster which can be resized by a policy if required.
Note that due to how Cassandra assumes ports are the same across a cluster, it is NOT possible to deploy a cluster to localhost.
Fields inherited from interface Cluster | |
---|---|
INITIAL_SIZE |
Fields inherited from interface Changeable | |
---|---|
GROUP_SIZE, MEMBER_ADDED, MEMBER_REMOVED |
Method Summary | |
---|---|
java.util.Set
|
gatherPotentialRunningSeeds()
|
java.util.Set
|
gatherPotentialSeeds()
|
java.lang.String
|
getClusterName()
The name of the cluster. |
void
|
update()
|
Methods inherited from interface DynamicCluster | |
---|---|
replaceMember, setFactory, setMemberSpec, setRemovalStrategy, setRemovalStrategy, setZoneFailureDetector, setZonePlacementStrategy |
Methods inherited from interface AbstractGroup | |
---|---|
setMembers, setMembers |
Methods inherited from interface Entity | |
---|---|
addChild, addChild, addEnricher, addGroup, addPolicy, clearParent, getApplication, getApplicationId, getAttribute, getChildren, getConfig, getConfig, getCreationTime, getDisplayName, getEnrichers, getEntityType, getGroups, getIconUrl, getId, getLocations, getParent, getPolicies, getRebindSupport, invoke, removeChild, removeEnricher, removePolicy, setParent |
Methods inherited from interface Identifiable | |
---|---|
getId |
Methods inherited from interface Rebindable | |
---|---|
getRebindSupport |
Field Detail |
---|
@SetFromFlag("clusterName") public BasicAttributeSensorAndConfigKey CLUSTER_NAME
@SuppressWarnings("serial") public AttributeSensor CURRENT_SEEDS
@SuppressWarnings("serial") public AttributeSensor DATACENTERS
@SuppressWarnings("serial") public AttributeSensor DATACENTER_USAGE
public int DEFAULT_SEED_QUORUM
Version 1.2.2 is buggy and requires a big delay for 2 nodes both seeds to reconcile, with 1.2.9 this seems fine, with just a few seconds' delay after starting.
public Duration DELAY_AFTER_FIRST
Not needed with 1.2.9 (and does not help with the bug in 1.2.2)
@SetFromFlag("delayBeforeAdvertisingCluster") public ConfigKey DELAY_BEFORE_ADVERTISING_CLUSTER
Useful to ensure nodes have synchronized.
On 1.2.2 this could be as much as 120s when using 2 seed nodes, or just a few seconds with 1 seed node. On 1.2.9 it seems a few seconds is sufficient even with 2 seed nodes
@SetFromFlag("snitchName") public ConfigKey ENDPOINT_SNITCH_NAME
public AttributeSensor FIRST_NODE_STARTED_TIME_UTC
public AttributeSensor HAS_PUBLISHED_SEEDS
public AttributeSensor HOSTNAME
public AttributeSensor PROCESS_CPU_TIME_FRACTION_IN_WINDOW_PER_NODE
public AttributeSensor PROCESS_CPU_TIME_FRACTION_LAST_PER_NODE
public AttributeSensor READS_PER_SECOND_IN_WINDOW_PER_NODE
public AttributeSensor READS_PER_SECOND_LAST_PER_NODE
public AttributeSensor READ_ACTIVE
public AttributeSensor READ_PENDING
public AttributeSensor SCHEMA_VERSION_COUNT
@SetFromFlag("seedSupplier") @SuppressWarnings("serial") public ConfigKey SEED_SUPPLIER
public AttributeSensor THRIFT_PORT
public AttributeSensor THRIFT_PORT_LATENCY_IN_WINDOW_PER_NODE
public AttributeSensor THRIFT_PORT_LATENCY_PER_NODE
public MethodEffector UPDATE
public boolean WAIT_FOR_FIRST
not sure whether this is needed or not. Need to test in env where not all nodes are seed nodes, what happens if non-seed nodes start before the seed nodes?
public AttributeSensor WRITES_PER_SECOND_IN_WINDOW_PER_NODE
public AttributeSensor WRITES_PER_SECOND_LAST_PER_NODE
public AttributeSensor WRITE_ACTIVE
public AttributeSensor WRITE_PENDING
Method Detail |
---|
public java.util.Set gatherPotentialRunningSeeds()
public java.util.Set gatherPotentialSeeds()
public java.lang.String getClusterName()
@Effector(description="Updates the cluster members") public void update()
Brooklyn Multi-Cloud Application Management Platform
brooklyncentral.github.com. Apache License. © 2012.