Search code examples
datastaxdatastax-enterprisedatastax-startupdatastax-enterprise-graphdatastax-php-driver

Datastax keyspace topology Change Issue


I am planning to change Keyspace Strategy from SimpleStrategy to NetworkTopologyStrategy for making it network aware. I had already changed keyspace strategy of app1,app2 and app3 which i had created. Do i need to change keyspace strategy of below mentioned key space to network aware ?.

dse_leases, dse_system, system_schema, dse_security, system_auth, system_distributed, system, system_traces, solr_admin, dse_perf

Updated : I fount i don't have to change strategy of keyspace system and system_schema because its not user modifiable.Did other keyspace mentioned above need to change


Solution

  • system and system_schema :

    Don't have to change strategy of keyspace system and system_schema because
    its not user modifiable
    

    dse_leases :

    1) A replication factor of 1 is suitable for development and testing on a   
       single node only, but never in a production environment.
    2) For production clusters, increase the replication factor to at least 3 
       for each logical datacenter that is running analytics.
    

    dse_system :

    DSE uses a default replication strategy of "EverywhereStrategy" for the 
    dse_system keyspace.The best approach is to keep the DSE node in the  
    cluster and then alter the replication strategy for the dse_system  
    keyspace to one that is understood by all nodes
       (a) ALTER KEYSPACE dse_system WITH replication = {'class': 'NetworkTopologyStrategy', 'DC1':1 ,'DC2':1};
    

    dse_perf :

    DataStax Enterprise uses the dse_perf keyspace for storing performance  
    metrics data.By default DataStax Enterprise writes performance  metrics  
    data with consistency level ONE and writes are performed asynchronously. 
    Set the replication factor based depending on your environment:
     (a) ALTER KEYSPACE "dse_perf" WITH REPLICATION = {'class' : 'NetworkTopologyStrategy', 'dc1' : 3, 'dc2' : 2};
    

    system_auth and dse_security :

    Cassandra uses the system_auth and dse_security keyspaces for storing  
    security authentication and authorization  information. DataStax  
    Enterprise uses the system_auth keyspace when you enable any kind of  
    authentication. DataStax Enterprise uses the dse_security keyspace only on 
    analytics nodes (CFS, Hadoop, Spark) when you enable Kerberos  
    authentication  
      (a)ALTER KEYSPACE "system_auth" WITH REPLICATION = {'class' : 'NetworkTopologyStrategy', 'dc1' : 3, 'dc2' : 2};
      (b)ALTER KEYSPACE "dse_security" WITH REPLICATION = {'class' : 'NetworkTopologyStrategy', 'dc1' : 3, 'dc2' : 2};