'https://github.com/brooklyncentral/brooklyn-cassandra'
which is a pure YAML template
for a database cluster.@Deprecated public interface CassandraDatacenter extends DynamicCluster, DatastoreMixins.HasDatastoreUrl, DatastoreMixins.CanExecuteScript
DynamicCluster.NodePlacementStrategy, DynamicCluster.ZoneFailureDetector
Entity.AdjunctSupport<T extends EntityAdjunct>, Entity.EnricherSupport, Entity.GroupSupport, Entity.PolicySupport, Entity.SensorSupport
BrooklynObject.RelationSupport<T extends BrooklynObject>, BrooklynObject.SubscriptionSupport, BrooklynObject.TagSupport
Configurable.ConfigurationSupport
Startable.RestartEffectorBody, Startable.StartEffectorBody, Startable.StopEffectorBody
Resizable.InsufficientCapacityException
Modifier and Type | Field and Description |
---|---|
static AttributeSensor<java.util.List<java.lang.String>> |
CASSANDRA_CLUSTER_NODES
Deprecated.
|
static BasicAttributeSensorAndConfigKey<java.lang.String> |
CLUSTER_NAME
Deprecated.
|
static AttributeSensor<java.util.Set<Entity>> |
CURRENT_SEEDS
Deprecated.
|
static AttributeSensor<<any>> |
DATACENTER_USAGE
Deprecated.
|
static AttributeSensor<java.util.Set<java.lang.String>> |
DATACENTERS
Deprecated.
|
static int |
DEFAULT_SEED_QUORUM
Deprecated.
Sets the number of nodes used to seed the cluster.
|
static Duration |
DELAY_AFTER_FIRST
Deprecated.
Can insert a delay after the first node comes up.
|
static ConfigKey<Duration> |
DELAY_BEFORE_ADVERTISING_CLUSTER
Deprecated.
Additional time after the nodes in the cluster are up when starting
before announcing the cluster as up.
|
static Duration |
DELAY_BETWEEN_STARTS
Deprecated.
If set (ie non-null), this waits the indicated time after a successful launch of one node
before starting the next.
|
static ConfigKey<java.lang.String> |
ENDPOINT_SNITCH_NAME
Deprecated.
|
static Effector<java.lang.String> |
EXECUTE_SCRIPT
Deprecated.
|
static AttributeSensor<java.lang.Long> |
FIRST_NODE_STARTED_TIME_UTC
Deprecated.
|
static AttributeSensor<java.lang.Boolean> |
HAS_PUBLISHED_SEEDS
Deprecated.
|
static AttributeSensor<java.lang.String> |
HOSTNAME
Deprecated.
|
static ConfigKey<java.lang.Integer> |
NUM_TOKENS_PER_NODE
Deprecated.
num_tokens will automatically be reset to 1 for each node if
USE_VNODES is false. |
static AttributeSensor<java.lang.Double> |
PROCESS_CPU_TIME_FRACTION_IN_WINDOW_PER_NODE
Deprecated.
|
static AttributeSensor<java.lang.Double> |
PROCESS_CPU_TIME_FRACTION_LAST_PER_NODE
Deprecated.
|
static AttributeSensor<java.util.List<Entity>> |
QUEUED_START_NODES
Deprecated.
|
static AttributeSensor<java.lang.Integer> |
READ_ACTIVE
Deprecated.
|
static AttributeSensor<java.lang.Long> |
READ_PENDING
Deprecated.
|
static AttributeSensor<java.lang.Double> |
READS_PER_SECOND_IN_WINDOW_PER_NODE
Deprecated.
|
static AttributeSensor<java.lang.Double> |
READS_PER_SECOND_LAST_PER_NODE
Deprecated.
|
static AttributeSensor<java.lang.Integer> |
SCHEMA_VERSION_COUNT
Deprecated.
|
static ConfigKey<<any>> |
SEED_SUPPLIER
Deprecated.
|
static AttributeSensor<java.lang.Integer> |
THRIFT_PORT
Deprecated.
|
static AttributeSensor<java.lang.Double> |
THRIFT_PORT_LATENCY_IN_WINDOW_PER_NODE
Deprecated.
|
static AttributeSensor<java.lang.Long> |
THRIFT_PORT_LATENCY_PER_NODE
Deprecated.
|
static ConfigKey<java.lang.Class<? extends TokenGenerator>> |
TOKEN_GENERATOR_CLASS
Deprecated.
|
static ConfigKey<java.math.BigInteger> |
TOKEN_SHIFT
Deprecated.
|
static MethodEffector<java.lang.Void> |
UPDATE
Deprecated.
|
static ConfigKey<java.lang.Boolean> |
USE_VNODES
Deprecated.
|
static boolean |
WAIT_FOR_FIRST
Deprecated.
Whether to wait for the first node to start up
|
static AttributeSensor<java.lang.Integer> |
WRITE_ACTIVE
Deprecated.
|
static AttributeSensor<java.lang.Long> |
WRITE_PENDING
Deprecated.
|
static AttributeSensor<java.lang.Double> |
WRITES_PER_SECOND_IN_WINDOW_PER_NODE
Deprecated.
|
static AttributeSensor<java.lang.Double> |
WRITES_PER_SECOND_LAST_PER_NODE
Deprecated.
|
AVAILABILITY_ZONE_NAMES, CLUSTER, CLUSTER_MEMBER, CLUSTER_MEMBER_ID, CLUSTER_ONE_AND_ALL_MEMBERS_UP, CUSTOM_CHILD_FLAGS, ENABLE_AVAILABILITY_ZONES, ENTITY_QUARANTINED, FAILED_SUB_LOCATIONS, FIRST_MEMBER_SPEC, INITIAL_QUORUM_SIZE, MAX_CONCURRENT_CHILD_COMMANDS, MAX_SIZE, MEMBER_SPEC, NUM_AVAILABILITY_ZONES, QUARANTINE_FAILED_ENTITIES, QUARANTINE_FILTER, QUARANTINE_GROUP, REMOVAL_STRATEGY, RESIZE_BY_DELTA, RESTART_MODE, SERVICE_STATE_ACTUAL, START_TIMEOUT, SUB_LOCATIONS, ZONE_FAILURE_DETECTOR, ZONE_PLACEMENT_STRATEGY
FIRST, GROUP_MEMBERS, MEMBER_DELEGATE_CHILDREN, MEMBER_DELEGATE_NAME_FORMAT, RUNNING_QUORUM_CHECK, UP_QUORUM_CHECK
GROUP_SIZE, MEMBER_ADDED, MEMBER_REMOVED
INITIAL_SIZE
RESTART, SERVICE_UP, START, STOP
REPLACE_MEMBER
DATASTORE_URL
Modifier and Type | Method and Description |
---|---|
java.lang.String |
executeScript(java.lang.String commands)
Deprecated.
|
java.util.Set<Entity> |
gatherPotentialRunningSeeds()
Deprecated.
|
java.util.Set<Entity> |
gatherPotentialSeeds()
Deprecated.
|
java.lang.String |
getClusterName()
Deprecated.
The name of the cluster.
|
void |
update()
Deprecated.
|
addNode, resizeByDelta, setMemberSpec, setRemovalStrategy, setZoneFailureDetector, setZonePlacementStrategy
getFirst, setMembers, setMembers
addChild, addChild, addMember, addMemberChild, addMemberChild, getCurrentSize, getMembers, hasMember, removeMember
addFeed, clearParent, enrichers, getApplication, getApplicationId, getAttribute, getChildren, getConfig, getCreationTime, getDisplayName, getEntityType, getIconUrl, getId, getLocations, getParent, groups, invoke, policies, relations, removeChild, sensors, setDisplayName, setParent
getCatalogItemId, getCatalogItemIdSearchPath, subscriptions, tags
config, getConfig
restart, start, stop
getCurrentSize, resize
replaceMember
static final BasicAttributeSensorAndConfigKey<java.lang.String> CLUSTER_NAME
static final ConfigKey<java.lang.String> ENDPOINT_SNITCH_NAME
static final ConfigKey<<any>> SEED_SUPPLIER
static final ConfigKey<java.lang.Class<? extends TokenGenerator>> TOKEN_GENERATOR_CLASS
static final ConfigKey<java.math.BigInteger> TOKEN_SHIFT
static final ConfigKey<java.lang.Boolean> USE_VNODES
static final ConfigKey<java.lang.Integer> NUM_TOKENS_PER_NODE
USE_VNODES
is false.static final ConfigKey<Duration> 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
static final AttributeSensor<<any>> DATACENTER_USAGE
static final AttributeSensor<java.util.Set<java.lang.String>> DATACENTERS
static final AttributeSensor<java.lang.Boolean> HAS_PUBLISHED_SEEDS
static final AttributeSensor<java.util.Set<Entity>> CURRENT_SEEDS
static final AttributeSensor<java.lang.String> HOSTNAME
static final AttributeSensor<java.util.List<java.lang.String>> CASSANDRA_CLUSTER_NODES
static final AttributeSensor<java.lang.Integer> THRIFT_PORT
static final AttributeSensor<java.lang.Long> FIRST_NODE_STARTED_TIME_UTC
static final AttributeSensor<java.util.List<Entity>> QUEUED_START_NODES
static final AttributeSensor<java.lang.Integer> SCHEMA_VERSION_COUNT
static final AttributeSensor<java.lang.Long> READ_PENDING
static final AttributeSensor<java.lang.Integer> READ_ACTIVE
static final AttributeSensor<java.lang.Long> WRITE_PENDING
static final AttributeSensor<java.lang.Integer> WRITE_ACTIVE
static final AttributeSensor<java.lang.Long> THRIFT_PORT_LATENCY_PER_NODE
static final AttributeSensor<java.lang.Double> READS_PER_SECOND_LAST_PER_NODE
static final AttributeSensor<java.lang.Double> WRITES_PER_SECOND_LAST_PER_NODE
static final AttributeSensor<java.lang.Double> PROCESS_CPU_TIME_FRACTION_LAST_PER_NODE
static final AttributeSensor<java.lang.Double> READS_PER_SECOND_IN_WINDOW_PER_NODE
static final AttributeSensor<java.lang.Double> WRITES_PER_SECOND_IN_WINDOW_PER_NODE
static final AttributeSensor<java.lang.Double> THRIFT_PORT_LATENCY_IN_WINDOW_PER_NODE
static final AttributeSensor<java.lang.Double> PROCESS_CPU_TIME_FRACTION_IN_WINDOW_PER_NODE
static final MethodEffector<java.lang.Void> UPDATE
static final Effector<java.lang.String> EXECUTE_SCRIPT
static final 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.
static final Duration DELAY_AFTER_FIRST
Reportedly not needed with 1.2.9, but we are still seeing some seed failures so re-introducing it. (This does not seem to help with the bug in 1.2.2.)
static final Duration DELAY_BETWEEN_STARTS
When subsequent nodes start simultaneously, we occasionally see schema disagreement problems; if nodes start sequentially, we occasionally get "no sources for (tokenRange]" problems. Either way the node stops. Ideally this can be solved at the Cassandra level, but if not, we will have to introduce some restarts at the Cassandra nodes (which does seem to resolve the problems.)
static final 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?
void update()
java.lang.String getClusterName()
java.util.Set<Entity> gatherPotentialSeeds()
java.util.Set<Entity> gatherPotentialRunningSeeds()
java.lang.String executeScript(java.lang.String commands)