Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Content layer
id1310363622
  • Installing and configuring Cassandra on Windows
  • Installing and configuring Cassandra on Linux
    Content column
    id1310363635
    Content block
    id1329937056

    On this page:

    Table of Contents
    maxLevel4

    Content block
    id1310363624

    This page provides instructions to set up a Teamwork Cloud (TWCloud) Cluster on your system. A TWCloud Cluster is composed of two clustering layers, TWCloud and Cassandra

    layers

    .

    To set up a TWCloud Cluster, you need to

    do

    perform two separate tasks:

    1. Set up a Cassandra Cluster
    2. Set up a TWCloud Cluster

    Image Modified

    An illustration of TWCloud Cluster and Cassandra Cluster nodes within TWCloud Cluster.

    Anchor
    cassandra
    cassandra
    Setting up a Cassandra Cluster

    Prior to establishing a Cassandra cluster, you need to determine the following.

    • The initial number of nodes in the cluster.
    • The IP address of each node.
    • Determine which node
    to
    • will be the seed.


    When setting up a Cassandra node, you need to configure a seed that indicates an initial contact point for the new node. So, you can configure the seed using the IP of any existing active node in the cluster. Use the node's own IP when configuring the first node. For example, if you are configuring a three-node cluster and the nodes' IPs

    are

    are 10.1.1.101, 10.1.1.102,

    and

     and 10.1.1.103. Select one, for

    example

    example 10.1.1.101, as

    the

    the seed. While you are

    configuring

    configuring cassandra.yaml,

    specify

    specify 10.1.1.101

    as

     as the seed value for all of the three nodes.

    Now that you understand what a seed is and how to configure it, follow the instructions to install and configure Cassandra on Windows or Linux Operating System. 


    Please note that listen_

    address and 

    address and broadcast_rpc_address are still their machine.

    Machine IP10.1.1.10110.1.1.10210.1.1.103
    seeds10.1.1.10110.1.1.10110.1.1.101
    listen_address10.1.1.10110.1.1.10210.1.1.103
    broadcast_rpc_address10.1.1.10110.1.1.10210.1.1.103


    After installing and configuring all nodes, start the seed node machine and verify that it is up and running first, and then start the rest of the nodes. You can check cluster status

    from

    using the command

    ,

    "nodetool status".

    Code Block
    Datacenter: datacenter1
    
    =======================
    
    Status=Up/Down
    
    |/ State=Normal/Leaving/Joining/Moving
    
    --
       Address     Load      Tokens  
       Address     Load      Tokens    Owns (effective)    Host
    ID                                   RackUN  
     ID                                   Rack
    UN   10.1.1.
    101 
    101  6.7
    GB    256      
     GB    256       35.1%
                  b33c603a
                   b33c603a-95c7-426d-9f7b-
    ebad2375086a 
    ebad2375086a   
     
       rack1
    UN  
    
    UN   10.1.1.
    102 
    102  6.34
    GB   256       32.5%               16f40503
     GB   256       32.5%               16f40503-4a65-45fe-9ee7-
    5d942506aa87 
    5d942506aa87    
      
      rack1
    UN  
    
    UN   10.1.1.
    103 
    103  6.15
    GB   256       32.4%               2d90c119
     GB   256       32.4%               2d90c119-08a4-4799-ac73-0440215d0b18 
     
         rack1

    Anchor
    twcloud
    twcloud
    Setting up a TWCloud Cluster

    Before setting up a TWCloud Cluster, you need to determine the following.

    • The initial number of nodes in the cluster.
    • The IP address of each TWC node.
    • Prepare a list of IP addresses of the Cassandra nodes.
     


    The instructions below use the following sample environment for ease of understanding.

    • 3 node TWC cluster.
    • TWC node IP
    address
    • addresses are 10.1.1.111, 10.1.1.112, and 10.1.1.113.
    • All nodes will be used as seed nodes.
    • IP
    address
    • addresses of Cassandra nodes are 10.1.1.101, 10.1.1.102, 10.1.1.103.

     


    Setting up the TWCloud Cluster involves 2 groups of parameters in application.conf.

    1. TWCloud clustering parameter

      - akka.cluster.seed-nodes

      This parameter indicates the initial contact points for the cluster.

      If you install TWCloud using the installer file, you will be asked to provide the seed node IP during the installation process and the value will be configured in application.conf.

      If you install using the zip file, you will need to manually configure the parameter in

     application
    1.  application.conf. Search for the following.

      Code Block
      titleapplication.
                                                  
    1. conf
      seed
     seed
    1. -nodes = ["akka.tcp://twcloud@${seed-node.ip}:2552"]

       Replace ${seed-node.ip} with the IP addresses of the seed nodes, so it should look similar to the following.

      Code Block
      titleapplication.conf
                            
    1. seed-nodes =
     
    1.  ["akka.tcp://twcloud@10.1.1.111:2552","akka.tcp://twcloud@10.1.1.112:2552","akka.tcp://twcloud@10.1.1.113:2552"]

    2. Cassandra configuration parameters 

     

      - esi.persistence.cassandra.connection.seeds

              The value of this parameter is a list of Cassandra node IP addresses. You can find this parameter

    in

    in application.

    conf

    conf by looking for the following.

    Code Block
    titleapplication.conf
    # List of comma delimited host.
    
    # Setting the value as localhost will be resolved from InetAddress.getLocalHost().getHostAddress()
    
    # Ex. seeds = ["10.1.1.123", "10.1.1.124", "10.1.1.125"]

    - seeds

    =

    ["localhost"]

    As you can see, the default value

    is

    is [“localhost”], which is only suitable for a single node server where both TWCloud and Cassandra are deployed on the same machine. According to our sample environment, you should change it to the following.

     

    Code Block
    titleapplication.conf
    seeds = 
                    seeds =
    ["10.1.1.101", "10.1.1.102", "10.1.1.103"]

    - esi.persistence.cassandra.keyspace.replication-factor

    This parameter defines the Cassandra replication factor for the “esi” keyspace used by TWCloud. The replication factor describes how many copies of your data will be written by Cassandra. For example, replication factor 2 means your data will be written to 2 nodes.

     


    For a three-node cluster, if you would like the cluster to be able to survive 1 node loss, you will need to set the replication factor to 3.

    Code Block
    persistence {
             cassandra {
                     keyspace {                                                                                           
                            replication-factor = 3                                         
                     
    
             cassandra {
                     keyspace {                                                                                           
                            replication-factor = 3                                         
                     }

    Please note that this configuration will be used only for the first time TWCloud connects to Cassandra and creates a new "esi" keyspace. Changing the replication factor after the keyspace has already been created is rather a complex task.

    Read

    Read this document

    if

     if you need to change it.

    Note
    titleNote

    TWCloud uses QUORUM for both write and read consistency

    level

    levels.

    Click here

    for

     for a detailed explanation

    about

    of data consistency.

    To start up the TWCloud cluster,

    first

    start the server on the seed machine and wait until you see a message similar to the following in the server.log. 

    INFO 
    Code Block
    INFO  2017-02-15 10:57:08.409 TWCloud Cluster with 1 node(s) : [10.1.1.111] [com.nomagic.esi.server.core.actor.ClusterHealthActor, twcloud-esi.actor.other-dispatcher-31]

    Then you can start the server on the remaining machines. You should see the following messages in the server.log which shows all 3 nodes are forming the cluster.

    INFO 
    Code Block
    INFO  2017-02-15 10:58:23.956 TWCloud Cluster with 2 node(s) : [10.1.1.111, 10.1.1.112] [com.nomagic.esi.server.core.actor.ClusterHealthActor, twcloud-esi.actor.other-dispatcher-18]
    INFO 
    
    INFO  2017-02-15 10:58:25.963 TWCloud Cluster with 3 node(s) : [10.1.1.111, 10.1.1.112, 10.1.1.113] [com.nomagic.esi.server.core.actor .ClusterHealthActor, twcloud-esi.actor.other-dispatcher-18]
    Panel
    titleRelated pages
    Content block
    id1310363619

    Related pages: