go to  ForumEasy.com   
JavaPro  
 
 
   Home  |  MyForum  |  FAQ  |  Archive    You are not logged in. [Login] or [Register]  
Forum Home » BigData » Apache Cassandra
Email To Friend  |   Set Alert To This Topic Rewarding Points Availabe: 0 (What's this) New Topic  |   Post Reply
Author Topic: Apache Cassandra
EricJ
member
offline   
 
posts: 50
joined: 02/22/2007
from: CA
  posted on: 09/29/2015 02:23:29 AM    Edit  |   Quote  |   Report 
Apache Cassandra
Apache Cassandra is an open source distributed NOSQL database designed to handle large amounts of data across many commodity servers, providing high availability with no single point of failure.

Major features:
  • Large scalability -- achieved by distributed partitions
  • High availability -- achieved by multiple nodes
  • Fault-tolerance -- achieved by non-master-slave replicas with no single point of failure

  •  Profile | Reply Points Earned: 0
    EricJ
    member
    offline   
     
    posts: 50
    joined: 02/22/2007
    from: CA
      posted on: 09/29/2015 02:27:17 AM    Edit  |   Quote  |   Report 
    How to download and install Cassandra?

    Step 1. Get the Apache Cassandra
  • Go to: http://cassandra.apache.org/download/
  • Click on: apache-cassandra-2.2.1-bin.tar.gz
  • Use 7-zip to extract files into: C:\temp\apache-cassandra-2.2.1-bin.tar\
  • Use 7-zip to extract files into: C:\tmp\apache-cassandra-2.2.1-bin\
  • Move the folder to: C:\downloads\apache-cassandra-2.2.1


    Step 2. Set the Cassandra environment
              JAVA_HOME = C:\Program Files\Java\jdk1.7.0_25
         CASSANDRA_HOME = C:\downloads\apache-cassandra-2.2.1
                   PATH = C:\downloads\apache-cassandra-2.2.1\bin
    



    Step 3. Start server
    C:\downloads\apache-cassandra-2.2.1\bin>cassandra -f
    



    Step 4. Check Server/node status

    How do I know Cassandra is running or not?
    C:\downloads\apache-cassandra-2.2.1\bin> nodetool status 
    
    Starting NodeTool
    Datacenter: datacenter1
    ========================
    Status=Up/Down|/ State=Normal/Leaving/Joining/Moving
    --  Address     Load      Tokens  Owns  Host ID        Rack
    UN  127.0.0.1   11.41 MB  256      ?    4571f3b-51807  rack1
    


    As it can be seen that the node is "Up" AND "Normal".


    Step 5. Stop server

    Simply by Ctrl+C

  •  Profile | Reply Points Earned: 0
    EricJ
    member
    offline   
     
    posts: 50
    joined: 02/22/2007
    from: CA
      posted on: 09/29/2015 02:37:20 AM    Edit  |   Quote  |   Report 
    How to customize/Configure Cassandra

    Open C:\downloads\apache-cassandra-2.2.1\conf\cassandra.yaml:

    Change the following default settings:
    cluster_name: 'Test Cluster'
    listen_address: localhost
    rpc_address: localhost
     - seeds: "127.0.0.1"
    


    to:

    cluster_name: 'Cluster101'
    listen_address: 10.11.12.13
    rpc_address: 10.11.12.13
    – seeds: "10.11.12.13"
    


    C:\downloads\apache-cassandra-2.2.1\bin> nodetool status 
    
    Starting NodeTool
    Datacenter: datacenter1
    ========================
    Status=Up/Down|/ State=Normal/Leaving/Joining/Moving
    --  Address      Load      Tokens  Owns  Host ID        Rack
    UN  10.11.12.13  11.41 MB  256      ?    4571f3b-51807  rack1
    


    As it can be seen that this Cassandra is running on 10.11.12.13 which can be accessed from outside.

     Profile | Reply Points Earned: 0
    EricJ
    member
    offline   
     
    posts: 50
    joined: 02/22/2007
    from: CA
      posted on: 09/29/2015 02:42:23 AM    Edit  |   Quote  |   Report 
    How to add a new node into existing cluster?
    Setp 1. Download and install Cassandra package unto the new host

    Step 2. Configure the new Cassandra node:
    Change:
    cluster_name: 'Test Cluster'
    listen_address: localhost
    rpc_address: localhost
     - seeds: "127.0.0.1"
    

    to:
    cluster_name: 'Clusetr101'  <-- The cluster to join
    listen_address: 10.11.12.123
    rpc_address: 10.11.12.123
    – seeds: "10.11.12.13"      <-- The cluster's seeds to reference
    


    Step 3. Start the new node:
    C:\downloads\apache-cassandra-2.2.1\bin> cassandra -f
    


    Step 4. Check the status:
    C:\downloads\apache-cassandra-2.2.1\bin> nodetool status 
    
    Starting NodeTool
    Datacenter: datacenter1
    ========================
    Status=Up/Down|/ State=Normal/Leaving/Joining/Moving
    --  Address      Load      Tokens  Owns  Host ID        Rack
    UN  10.11.12.13  11.51 MB  256      ?    4571f3b-51807  rack1
    UN  10.11.12.123  4.32 MB  256      ?    8f1b1c8-2d0d6  rack1
    


    As it can be seen that the cluster is now having 2 nodes: '10.11.12.13' and '10.11.12.123'.


    Note: Check your application data's replication factor before adding any new node, for example,
  • ReplicationFactor=1 -- trouble if any one node is down
  • ReplicationFactor=2 -- trouble if any two nodes are down

    UnavailableException: Not enough replica available for query at consistency ONE (1 required but only 0 alive)



  •  Profile | Reply Points Earned: 0
    EricJ
    member
    offline   
     
    posts: 50
    joined: 02/22/2007
    from: CA
      posted on: 09/30/2015 01:24:40 AM    Edit  |   Quote  |   Report 
    Is it possible to set up a multi-node cluster on a single machine

    It seams to be possible based on the following link

    http://stackoverflow.com/questions/22513979/setting-up-cassandra-multi-node-cluster-on-a-single-ubuntu-server

    In summary:
  • Multiple folders for each instance;
  • Within each folder's yaml file, set 'localhost' as '127,0,0,1', '127,0,0,2', ..., respectively.
  • Within each folder's cassandra-env.sh file, set 'JMX_PORT' as 7199, 8199, ..., respectively.

  •  Profile | Reply Points Earned: 0

     
    Powered by ForumEasy © 2003-2005, All Rights Reserved. | Privacy Policy | Terms of Use
     
    Get your own forum today. It's easy and free.