Initializing single-token architecture datacenters
Follow these steps only when not using virtual nodes (vnodes).
In most circumstances, each workload type, such as search, analytics, and transactional, should be organized into separate virtual datacenters.
Workload segregation avoids contention for resources.
However, workloads can be combined in SearchAnalytics nodes when there is not a large demand for analytics, or when analytics queries must use a DSE Search index.
Generally, combining transactional (OLTP) and analytics (OLAP) workloads results in decreased performance.
When creating a keyspace using CQL, DataStax Enterprise creates a virtual datacenter for a cluster, even a one-node cluster, automatically. You assign nodes that run the same type of workload to the same datacenter. The separate, virtual datacenters for different types of nodes segregate workloads that run DSE Search from those nodes that run other workload types.
Configuration file locations
The location of the cassandra-topology.properties file depends on the type of installation:
-
Package installations and Installer-Services installations:
/etc/dse/cassandra/cassandra-topology.properties -
Tarball installations and Installer-No Services installations:
<installation_location>/resources/cassandra/conf/cassandra-topology.properties
The location of the cassandra.yaml file depends on the type of installation:
-
Package installations and Installer-Services installations:
/etc/dse/cassandra/cassandra.yaml -
Tarball installations and Installer-No Services installations:
<installation_location>/resources/cassandra/conf/cassandra.yaml
The location of the dse.yaml file depends on the type of installation:
-
Package installations and Installer-Services installations:
/etc/dse/dse.yaml -
Tarball installations and Installer-No Services installations:
<installation_location>/resources/dse/conf/dse.yaml
The location of the cassandra-rackdc.properties depends on the type of installation:
-
Package installations and Installer-Services installations:
/etc/dse/cassandra/cassandra-rackdc.properties -
Tarball installations and Installer-No Services:
installation_location/resources/cassandra/conf/cassandra-rackdc.properties
Procedure
|
Complete the tasks outlined in Initializing a DataStax Enterprise cluster to prepare the environment. |
These steps provide information about setting up a cluster having one or more datacenters.
-
Suppose you install DataStax Enterprise (DSE) on these nodes:
-
node0 10.168.66.41 (seed1)
-
node1 10.176.43.66
-
node2 10.168.247.41
-
node3 10.176.170.59 (seed2)
-
node4 10.169.61.170
-
node5 10.169.30.138
-
-
Calculate the token assignments as described in Calculating tokens for single-token architecture nodes.
For example, the tokens for a six-node cluster with a single datacenter:
Node Token node0
0
node1
21267647932558653966460912964485513216
node2
42535295865117307932921825928971026432
node3
63802943797675961899382738893456539648
node4
85070591730234615865843651857942052864
node5
106338239662793269832304564822427566080
Or a six-node cluster with two datacenters:
Node Token Offset Datacenter node0
0
NA
DC1
node1
56713727820156410577229101238628035242
NA
DC1
node2
113427455640312821154458202477256070485
NA
DC1
node3
100
100
DC2
node4
56713727820156410577229101238628035342
100
DC2
node5
113427455640312821154458202477256070585
100
DC2
-
If the nodes are behind a firewall, open the required ports for internal/external communication.
-
If DataStax Enterprise is running, stop the node and clear the data:
- Package installations
-
To stop DSE:
sudo service dse stopTo remove data from the default directories:
sudo rm -rf /var/lib/cassandra/* - Tarball installations
-
From the installation location, stop the database:
bin/dse cassandra-stopRemove all data:
cd /var/lib/cassandra/data && sudo rm -rf data/* commitlog/* saved_caches/* hints/*
-
Configure properties in
cassandra.yamlon each new node, following the configuration of the other nodes in the cluster.Use the
yaml_difftool to review and make appropriate changes to thecassandra.yamlanddse.yamlconfiguration files.-
Configure node properties.
-
initial_token:token_value_from_calculation -
num_tokens: 1 -
-seeds:internal_IP_addressof each seed nodeInclude at least one seed node from each datacenter. DataStax recommends more than one seed node per datacenter. Do not make all nodes seed nodes.
-
listen_address: empty: If not set, DSE asks the system for the local address, which is associated with its host name. In some cases, DSE does not produce the correct address, which requires specifying thelisten_address. -
auto_bootstrap: false: Add the bootstrap setting only when initializing a new cluster with no data. -
endpoint_snitch: snitch: Seeendpoint_snitchand snitches.Do not use the DseSimpleSnitch (default). The DseSimpleSnitch is used only for single-datacenter deployments (or single-zone deployments in public clouds), and does not recognize datacenter or rack information.
Snitch Configuration file
-
-
-
Set the properties in the
dse.yamlfile as required by your use case. -
In the
cassandra-rackdc.properties(GossipingPropertyFileSnitch) orcassandra-topology.properties(PropertyFileSnitch) file, assign datacenter and rack names to the IP addresses of each node, and assign a default datacenter name and rack name for unknown nodes.For migrations from PropertyFileSnitch: The GossipingPropertyFileSnitch always loads
cassandra-topology.propertieswhen the file is present. Remove the file from each node on any new cluster or any cluster migrated from the PropertyFileSnitch.# Transactional Node IP=Datacenter:Rack 110.82.155.0=DC_Transactional:RAC1 110.82.155.1=DC_Transactional:RAC1 110.54.125.1=DC_Transactional:RAC2 110.54.125.2=DC_Analytics:RAC1 110.54.155.2=DC_Analytics:RAC2 110.82.155.3=DC_Analytics:RAC1 110.54.125.3=DC_Search:RAC1 110.82.155.4=DC_Search:RAC2 # default for unknown nodes default=DC1:RAC1 -
After you have installed and configured DSE on all nodes, start the seed nodes one at a time, and then start the rest of the nodes:
After making changes to the configuration files, you must restart the nodes for the changes to take effect.
-
Package installations: Starting DataStax Enterprise as a service
-
Tarball installations: Starting DataStax Enterprise as a stand-alone process
-
-
Check that your cluster is up and running:
dsetool statusMake sure all nodes are in Up/Normal status:
Datacenter: Cassandra ======================= Status=Up/Down |/ State=Normal/Leaving/Joining/Moving -- Address Load Tokens Owns Host ID Rack UN 110.82.155.0 21.33 KB 256 33.3% a9fa31c7-f3c0-... RAC1 UN 110.82.155.1 21.33 KB 256 33.3% f5bb416c-db51-... RAC1 UN 110.82.155.2 21.33 KB 256 16.7% b836748f-c94f-... RAC1If the cluster has problems starting, visit IBM Support.