Re: Inter Data Center Latency calculation of a Multi DC cluster running in AWS

2017-10-17 Thread Ben Wood
(https://www.cloudping.co/ is a useful place to get inter-region latency in
AWS)

On Tue, Oct 17, 2017 at 9:20 PM, Chris Lohfink  wrote:

> An alternative if using >3.8 you can use the org.apache.cassandra.
> metrics:type=Messaging,name=[DC]-Latency mbean where [DC] is the name of
> the DC and you can get the inter DC latency per node (to that node). This
> does not account for NTP drift though, just how long it takes messages (ie
> mutations) take to get to a node from other DCs.
>
> Chris
>
> On Tue, Oct 17, 2017 at 7:18 PM, Jon Haddad  wrote:
>
>> I recommend figuring out the latency between your datacenters.  Cassandra
>> isn’t going to be any more than that barring JVM pauses on the remote
>> coordinator.
>>
>>
>> On Oct 17, 2017, at 4:17 PM, Bill Walters 
>> wrote:
>>
>> Hi Everyone,
>>
>> I need some suggestions on finding the time taken for Cassandra
>> replication to happen from east to west region for write and read
>> operations on a multi DC cluster.
>> Currently, below is our cluster setup.
>>
>> *Cassandra version:* DSE 5.0.7
>> *No of Data centers:* 2 (AWS East and AWS West regions)
>> *No of Nodes:* 12 nodes (6 nodes in AWS East and 6 nodes in AWS West)
>> *Replication Factor:* 3 in each data center.
>> *Cluster size*: Around 40 GB on each node
>>
>> Sometime, next year we have an activity where our clients are going to be
>> reading only from AWS West region. The data center in AWS east will be
>> available but we do not want any reads to be done on this.(Our management
>> wants to know the time it takes for Cassandra to replicate from one DC to
>> the other)
>>
>> Here are some options I have thought of in finding the time taken for
>> Cassandra replication to happen from AWS East DC to AWS West DC.
>>
>> 1. Setup a Java client to write/read a transaction with *"Local Quorum" 
>> *consistency
>> level in* AWS East* region as Local data center, capture the time taken
>> for this activity. Similarly use this client to perform read/write
>> transaction with *"Local Quorum"* consistency level in *AWS West* region
>> and capture the time. Then finally perform the same transaction with with 
>> *"Each
>> Quorum" *consistency level and capture the time.
>>
>> *Inter DC latency* = *Time taken for Each Quorum transaction* *-* *(Time
>> taken for Local Quorum transaction in AWS East as local dc)* *-** (Time
>> taken for Local Quorum transaction in AWS West as local dc)*.
>>
>>
>> 2. Utilize the https://github.com/gitaroktato/cassandra-replication-
>> latency-tools open source project where a Python Cassandra clients
>> writes in one Data Center and other client reads in other data center.
>>
>>
>> Can you please suggest if my strategies above will help in finding the
>> Inter DC latency or there are other ways I need to follow.
>>
>>
>> Thank You,
>> Bill Walters.
>>
>>
>>
>


-- 
Ben Wood
Software Engineer - Data Agility
Mesosphere


Re: Inter Data Center Latency calculation of a Multi DC cluster running in AWS

2017-10-17 Thread Chris Lohfink
An alternative if using >3.8 you can use the
org.apache.cassandra.metrics:type=Messaging,name=[DC]-Latency mbean where
[DC] is the name of the DC and you can get the inter DC latency per node
(to that node). This does not account for NTP drift though, just how long
it takes messages (ie mutations) take to get to a node from other DCs.

Chris

On Tue, Oct 17, 2017 at 7:18 PM, Jon Haddad  wrote:

> I recommend figuring out the latency between your datacenters.  Cassandra
> isn’t going to be any more than that barring JVM pauses on the remote
> coordinator.
>
>
> On Oct 17, 2017, at 4:17 PM, Bill Walters  wrote:
>
> Hi Everyone,
>
> I need some suggestions on finding the time taken for Cassandra
> replication to happen from east to west region for write and read
> operations on a multi DC cluster.
> Currently, below is our cluster setup.
>
> *Cassandra version:* DSE 5.0.7
> *No of Data centers:* 2 (AWS East and AWS West regions)
> *No of Nodes:* 12 nodes (6 nodes in AWS East and 6 nodes in AWS West)
> *Replication Factor:* 3 in each data center.
> *Cluster size*: Around 40 GB on each node
>
> Sometime, next year we have an activity where our clients are going to be
> reading only from AWS West region. The data center in AWS east will be
> available but we do not want any reads to be done on this.(Our management
> wants to know the time it takes for Cassandra to replicate from one DC to
> the other)
>
> Here are some options I have thought of in finding the time taken for
> Cassandra replication to happen from AWS East DC to AWS West DC.
>
> 1. Setup a Java client to write/read a transaction with *"Local Quorum" 
> *consistency
> level in* AWS East* region as Local data center, capture the time taken
> for this activity. Similarly use this client to perform read/write
> transaction with *"Local Quorum"* consistency level in *AWS West* region
> and capture the time. Then finally perform the same transaction with with 
> *"Each
> Quorum" *consistency level and capture the time.
>
> *Inter DC latency* = *Time taken for Each Quorum transaction* *-* *(Time
> taken for Local Quorum transaction in AWS East as local dc)* *-** (Time
> taken for Local Quorum transaction in AWS West as local dc)*.
>
>
> 2. Utilize the https://github.com/gitaroktato/cassandra-
> replication-latency-tools open source project where a Python Cassandra
> clients writes in one Data Center and other client reads in other data
> center.
>
>
> Can you please suggest if my strategies above will help in finding the
> Inter DC latency or there are other ways I need to follow.
>
>
> Thank You,
> Bill Walters.
>
>
>


3.0 is slower than 2.2 ?

2017-10-17 Thread Yuji Ito
Hi all,

I'm comparing performance between Cassandra 2.2.10 and 3.0.15.
SELECT of 3.0.15 is faster than 2.2.10.
However, conditional INSERT and UPDATE of 3.0.15 are slower than 2.2.10.
Is it expected? If so, I want know why.

I'm trying to measure performance for non-conditional operation next.

Environment:
- 3 nodes in a single cluster
- AWS EC2 i3.large (2 cores, 30GB memory, NVMe SSD)
  - Cassandra commitlog and data are stored in NVMe SSD

Configuration:
- Replication factor: 3
- commitlog_sync: batch
- conccurent_reads: 512
- concurrent_writes: 512

Request:
- SELECT "id", "val" from testdb.testtbl WHERE "id" = id with CL.SERIAL
- INSERT INTO testdb.testtbl ("id", "val") VALUES (id, val) IF NOT EXIST
- UPDATE testdb.testtbl  SET "val" = val WHERE "id" = id IF EXISTS
  - Client program requests these operations via Java driver

Result:

- INSERT throughput [operations per sec]

| Concurrency | 2.2.10 [op/s] |3.0.15 [op/s] |
| 1 | 303 | 263 |
| 2 | 526 | 454 |
| 4 | 784 | 666 |
| 8 | 1066 | 888 |
| 16 | 1391 | 1194 |
| 32 | 1649 | 1428 |
| 64 |1802 | 1553 |

- UPDATE throughput

| Concurrency | 2.2.10 [op/s] | 3.0.15 [op/s] |
| 1 | 322 | 277 |
| 2 | 606 | 512 |
| 4 | 1000 | 727 |
| 8 | 1250 | 1012 |
| 16| 1495|1280 |
| 32| 2147|1739 |
| 64| 3248|2949 |

- SELECT throughput

| Concurrency | 2.2.10 [op/s] | 3.0.15 [op/s] |
| 1 | 454 | 476 |
| 2 | 869 | 909 |
| 4 | 1333 | 1333 |
| 8 | 1818 | 1777 |
| 16 | 2424 | 2539 |
| 32 | 2990 | 3018 |
| 64 | 3422 | 3699 |

Thanks,
Yuji


Re: Restore cassandra snapshots

2017-10-17 Thread Pradeep Chhetri
Hi Anthony

I did the following steps to restore. Please let me know if I missed
something.

- Took snapshots on the 3 nodes of the existing cluster simultaneously
- copied that snapshots respectively on the 3 nodes of the freshly created
cluster
- ran sstableloader on each of the application table. ( I didn't restore
the system related tables ) on all of three node.

I was assuming that since I ran from all the three snapshots, all the
tokens should be there so thought that this will not cause any data loss.

Do you see that I might have data loss. I am not sure how to verify the
data loss although I did ran count of few table to verify the row count.

Thank you the help.


On Wed, 18 Oct 2017 at 5:39 AM, Anthony Grasso 
wrote:

> Hi Pradeep,
>
> If you are going to copy N snapshots to N nodes you will need to make sure
> you have the System keyspace as part of that snapshot. The System keyspace
> that is local to each node, contains the token allocations for that
> particular node. This allows the node to work out what data it is
> responsible for. Further to that, if you are restoring the System keyspace
> from snapshots, make sure that the cluster name of the new cluster is
> exactly the same as the cluster which generated the System keyspace
> snapshots.
>
> Regards,
> Anthony
>
> On 16 October 2017 at 23:28, Jean Carlo  wrote:
>
>> HI,
>>
>> Yes of course, you can use sstableloader from every sstable to your new
>> cluster. Actually this is the common procedure. Just check the log of
>> cassandra, you shouldn't see any errors of streaming.
>>
>>
>> However, because the fact you are migrating from on cluster of N nodes to
>> another of N nodes, I believe you can just copy and paste your data node
>> per node and make a nodetool refresh. Checking obviously the correct names
>> of your sstables.
>> You can check the tokens of your node using nodetool info -T
>>
>> But I think sstableloader is the easy way :)
>>
>>
>>
>>
>> Saludos
>>
>> Jean Carlo
>>
>> "The best way to predict the future is to invent it" Alan Kay
>>
>> On Mon, Oct 16, 2017 at 1:55 PM, Pradeep Chhetri 
>> wrote:
>>
>>> Hi Jean,
>>>
>>> Thank you for the quick response. I am not sure how to achieve that. Can
>>> i set the tokens for a node via cqlsh ?
>>>
>>> I know that i can check the nodetool rings to get the tokens allocated
>>> to a node.
>>>
>>> I was thinking to basically run sstableloader for each of the snapshots
>>> and was assuming it will load the complete data properly. Isn't that the
>>> case.
>>>
>>> Thank you.
>>>
>>> On Mon, Oct 16, 2017 at 5:21 PM, Jean Carlo 
>>> wrote:
>>>
 Hi,

 Be sure that you have the same tokens distribution than your original
 cluster. So if you are going to restore from old node 1 to new node 1, make
 sure that the new node and the old node have the same tokens.


 Saludos

 Jean Carlo

 "The best way to predict the future is to invent it" Alan Kay

 On Mon, Oct 16, 2017 at 1:40 PM, Pradeep Chhetri  wrote:

> Hi,
>
> I am trying to restore an empty 3-node cluster with the three
> snapshots taken on another 3-node cluster.
>
> What is the best approach to achieve it without loosing any data
> present in the snapshot.
>
> Thank you.
> Pradeep
>


>>>
>>
>


Re: Inter Data Center Latency calculation of a Multi DC cluster running in AWS

2017-10-17 Thread Jon Haddad
I recommend figuring out the latency between your datacenters.  Cassandra isn’t 
going to be any more than that barring JVM pauses on the remote coordinator.

> On Oct 17, 2017, at 4:17 PM, Bill Walters  wrote:
> 
> Hi Everyone,
> 
> I need some suggestions on finding the time taken for Cassandra replication 
> to happen from east to west region for write and read operations on a multi 
> DC cluster.
> Currently, below is our cluster setup.
> 
> Cassandra version: DSE 5.0.7 
> No of Data centers: 2 (AWS East and AWS West regions)
> No of Nodes: 12 nodes (6 nodes in AWS East and 6 nodes in AWS West)
> Replication Factor: 3 in each data center.
> Cluster size: Around 40 GB on each node
> 
> Sometime, next year we have an activity where our clients are going to be 
> reading only from AWS West region. The data center in AWS east will be 
> available but we do not want any reads to be done on this.(Our management 
> wants to know the time it takes for Cassandra to replicate from one DC to the 
> other)
> 
> Here are some options I have thought of in finding the time taken for 
> Cassandra replication to happen from AWS East DC to AWS West DC.
> 
> 1. Setup a Java client to write/read a transaction with "Local Quorum" 
> consistency level in AWS East region as Local data center, capture the time 
> taken for this activity. Similarly use this client to perform read/write 
> transaction with "Local Quorum" consistency level in AWS West region and 
> capture the time. Then finally perform the same transaction with with "Each 
> Quorum" consistency level and capture the time.
> 
> Inter DC latency = Time taken for Each Quorum transaction - (Time taken for 
> Local Quorum transaction in AWS East as local dc) - (Time taken for Local 
> Quorum transaction in AWS West as local dc).  
> 
> 
> 2. Utilize the 
> https://github.com/gitaroktato/cassandra-replication-latency-tools 
>  open 
> source project where a Python Cassandra clients writes in one Data Center and 
> other client reads in other data center.
> 
> 
> Can you please suggest if my strategies above will help in finding the Inter 
> DC latency or there are other ways I need to follow.
> 
> 
> Thank You,
> Bill Walters.



Re: Restore cassandra snapshots

2017-10-17 Thread Anthony Grasso
Hi Pradeep,

If you are going to copy N snapshots to N nodes you will need to make sure
you have the System keyspace as part of that snapshot. The System keyspace
that is local to each node, contains the token allocations for that
particular node. This allows the node to work out what data it is
responsible for. Further to that, if you are restoring the System keyspace
from snapshots, make sure that the cluster name of the new cluster is
exactly the same as the cluster which generated the System keyspace
snapshots.

Regards,
Anthony

On 16 October 2017 at 23:28, Jean Carlo  wrote:

> HI,
>
> Yes of course, you can use sstableloader from every sstable to your new
> cluster. Actually this is the common procedure. Just check the log of
> cassandra, you shouldn't see any errors of streaming.
>
>
> However, because the fact you are migrating from on cluster of N nodes to
> another of N nodes, I believe you can just copy and paste your data node
> per node and make a nodetool refresh. Checking obviously the correct names
> of your sstables.
> You can check the tokens of your node using nodetool info -T
>
> But I think sstableloader is the easy way :)
>
>
>
>
> Saludos
>
> Jean Carlo
>
> "The best way to predict the future is to invent it" Alan Kay
>
> On Mon, Oct 16, 2017 at 1:55 PM, Pradeep Chhetri 
> wrote:
>
>> Hi Jean,
>>
>> Thank you for the quick response. I am not sure how to achieve that. Can
>> i set the tokens for a node via cqlsh ?
>>
>> I know that i can check the nodetool rings to get the tokens allocated to
>> a node.
>>
>> I was thinking to basically run sstableloader for each of the snapshots
>> and was assuming it will load the complete data properly. Isn't that the
>> case.
>>
>> Thank you.
>>
>> On Mon, Oct 16, 2017 at 5:21 PM, Jean Carlo 
>> wrote:
>>
>>> Hi,
>>>
>>> Be sure that you have the same tokens distribution than your original
>>> cluster. So if you are going to restore from old node 1 to new node 1, make
>>> sure that the new node and the old node have the same tokens.
>>>
>>>
>>> Saludos
>>>
>>> Jean Carlo
>>>
>>> "The best way to predict the future is to invent it" Alan Kay
>>>
>>> On Mon, Oct 16, 2017 at 1:40 PM, Pradeep Chhetri 
>>> wrote:
>>>
 Hi,

 I am trying to restore an empty 3-node cluster with the three snapshots
 taken on another 3-node cluster.

 What is the best approach to achieve it without loosing any data
 present in the snapshot.

 Thank you.
 Pradeep

>>>
>>>
>>
>


Inter Data Center Latency calculation of a Multi DC cluster running in AWS

2017-10-17 Thread Bill Walters
Hi Everyone,

I need some suggestions on finding the time taken for Cassandra replication
to happen from east to west region for write and read operations on a multi
DC cluster.
Currently, below is our cluster setup.

*Cassandra version:* DSE 5.0.7
*No of Data centers:* 2 (AWS East and AWS West regions)
*No of Nodes:* 12 nodes (6 nodes in AWS East and 6 nodes in AWS West)
*Replication Factor:* 3 in each data center.
*Cluster size*: Around 40 GB on each node

Sometime, next year we have an activity where our clients are going to be
reading only from AWS West region. The data center in AWS east will be
available but we do not want any reads to be done on this.(Our management
wants to know the time it takes for Cassandra to replicate from one DC to
the other)

Here are some options I have thought of in finding the time taken for
Cassandra replication to happen from AWS East DC to AWS West DC.

1. Setup a Java client to write/read a transaction with *"Local
Quorum" *consistency
level in* AWS East* region as Local data center, capture the time taken for
this activity. Similarly use this client to perform read/write transaction
with *"Local Quorum"* consistency level in *AWS West* region and capture
the time. Then finally perform the same transaction with with *"Each
Quorum" *consistency level and capture the time.

*Inter DC latency* = *Time taken for Each Quorum transaction* *-* *(Time
taken for Local Quorum transaction in AWS East as local dc)* *-** (Time
taken for Local Quorum transaction in AWS West as local dc)*.


2. Utilize the
https://github.com/gitaroktato/cassandra-replication-latency-tools open
source project where a Python Cassandra clients writes in one Data Center
and other client reads in other data center.


Can you please suggest if my strategies above will help in finding the
Inter DC latency or there are other ways I need to follow.


Thank You,
Bill Walters.


Re: Looking for advice and assistance upgrading from Cassandra 1.2.9

2017-10-17 Thread kurt greaves
+1 what Jon said

On 18 Oct. 2017 06:38, "Jon Haddad"  wrote:

> I recommend going all the way to 2.2.
>
> On Oct 17, 2017, at 12:37 PM, Jeff Jirsa  wrote:
>
> You’ll go from 1.2 to 2.0 to 2.1 - should be basic steps:
> - make sure you have all 1.2 sstables by running upgradesstable
> - one node at a time, swap the 1.2 binaries for latest in 2.0
> - once all nodes are 2.0, run upgradesstables on each node (one at a time)
> - one node at a, swap the 2.0 binaries for latest 2.1
> - once all are 2.1, upgradesstables again
>
> You’ll want to read NEWS.txt for the versions as you upgrade in case there
> are any changes to config yaml or intermediate steps -
> https://github.com/apache/cassandra/blob/cassandra-1.2/NEWS.txt for 1.2
>
> Not a bad idea to find a consultant that does this often because they may
> know of some rough edges in the process - this isn’t an endorsement, but I
> imagine the folks at Pythian do this a lot, and Instaclustr / TheLastPickle
> both have teams of consultants to help you along as well.
>
>
>
> On Oct 17, 2017, at 11:20 AM, David Ellis  wrote:
>
> I have a large Cassandra 1.2.9 based enterprise application with a
> considerable amount of data.
>
> I’d like to begin the process of upgrading my existing java application
> and the database to Cassandra 2.1.
>
> Anyone have some suggestions where to begin? Any experts looking for some
> consulting income :)
>
> David
> -
> To unsubscribe, e-mail: user-unsubscr...@cassandra.apache.org
> For additional commands, e-mail: user-h...@cassandra.apache.org
>
>
>


where can i buy cassandra spring applications

2017-10-17 Thread Lutaya Shafiq Holmes
where can i buy cassandra spring applications,

I need to purchase a fully built Cassandr  Web Application in Eclipse,

Where Can I get one? -


Forexample on Evanto Market , and Theme Forest I ca get  WordPress,
Drupal, PHP and other systems,

Where can I get Spring Cassandra Applications

-
To unsubscribe, e-mail: user-unsubscr...@cassandra.apache.org
For additional commands, e-mail: user-h...@cassandra.apache.org



Re: Looking for advice and assistance upgrading from Cassandra 1.2.9

2017-10-17 Thread Jon Haddad
I recommend going all the way to 2.2.

> On Oct 17, 2017, at 12:37 PM, Jeff Jirsa  wrote:
> 
> You’ll go from 1.2 to 2.0 to 2.1 - should be basic steps:
> - make sure you have all 1.2 sstables by running upgradesstable
> - one node at a time, swap the 1.2 binaries for latest in 2.0
> - once all nodes are 2.0, run upgradesstables on each node (one at a time)
> - one node at a, swap the 2.0 binaries for latest 2.1
> - once all are 2.1, upgradesstables again
> 
> You’ll want to read NEWS.txt for the versions as you upgrade in case there 
> are any changes to config yaml or intermediate steps - 
> https://github.com/apache/cassandra/blob/cassandra-1.2/NEWS.txt 
>  for 1.2
> 
> Not a bad idea to find a consultant that does this often because they may 
> know of some rough edges in the process - this isn’t an endorsement, but I 
> imagine the folks at Pythian do this a lot, and Instaclustr / TheLastPickle 
> both have teams of consultants to help you along as well. 
> 
> 
> 
> On Oct 17, 2017, at 11:20 AM, David Ellis  > wrote:
> 
>> I have a large Cassandra 1.2.9 based enterprise application with a 
>> considerable amount of data.
>> 
>> I’d like to begin the process of upgrading my existing java application and 
>> the database to Cassandra 2.1.
>> 
>> Anyone have some suggestions where to begin? Any experts looking for some 
>> consulting income :)
>> 
>> David
>> -
>> To unsubscribe, e-mail: user-unsubscr...@cassandra.apache.org 
>> 
>> For additional commands, e-mail: user-h...@cassandra.apache.org 
>> 
>> 



Re: Looking for advice and assistance upgrading from Cassandra 1.2.9

2017-10-17 Thread Jeff Jirsa
You’ll go from 1.2 to 2.0 to 2.1 - should be basic steps:
- make sure you have all 1.2 sstables by running upgradesstable
- one node at a time, swap the 1.2 binaries for latest in 2.0
- once all nodes are 2.0, run upgradesstables on each node (one at a time)
- one node at a, swap the 2.0 binaries for latest 2.1
- once all are 2.1, upgradesstables again

You’ll want to read NEWS.txt for the versions as you upgrade in case there are 
any changes to config yaml or intermediate steps - 
https://github.com/apache/cassandra/blob/cassandra-1.2/NEWS.txt for 1.2

Not a bad idea to find a consultant that does this often because they may know 
of some rough edges in the process - this isn’t an endorsement, but I imagine 
the folks at Pythian do this a lot, and Instaclustr / TheLastPickle both have 
teams of consultants to help you along as well. 



> On Oct 17, 2017, at 11:20 AM, David Ellis  wrote:
> 
> I have a large Cassandra 1.2.9 based enterprise application with a 
> considerable amount of data.
> 
> I’d like to begin the process of upgrading my existing java application and 
> the database to Cassandra 2.1.
> 
> Anyone have some suggestions where to begin? Any experts looking for some 
> consulting income :)
> 
> David
> -
> To unsubscribe, e-mail: user-unsubscr...@cassandra.apache.org
> For additional commands, e-mail: user-h...@cassandra.apache.org
> 


Looking for advice and assistance upgrading from Cassandra 1.2.9

2017-10-17 Thread David Ellis
I have a large Cassandra 1.2.9 based enterprise application with a considerable 
amount of data.

I’d like to begin the process of upgrading my existing java application and the 
database to Cassandra 2.1.

Anyone have some suggestions where to begin? Any experts looking for some 
consulting income :)

David
-
To unsubscribe, e-mail: user-unsubscr...@cassandra.apache.org
For additional commands, e-mail: user-h...@cassandra.apache.org



Re: How can I install a Java Spring Application running Cassandra on to AWS

2017-10-17 Thread Lutaya Shafiq Holmes
Thank YOU

On 10/17/17, Who Dadddy  wrote:
> http://lmgtfy.com/?q=install+java+app+on+AWS
> 
>
>> On 17 Oct 2017, at 15:32, Lutaya Shafiq Holmes 
>> wrote:
>>
>> How can I install a Java Spring Application running Cassandra  on to  AWS
>> --
>> Lutaaya Shafiq
>> Web: www.ronzag.com | i...@ronzag.com
>> Mobile: +256702772721 | +256783564130
>> Twitter: @lutayashafiq
>> Skype: lutaya5
>> Blog: lutayashafiq.com
>> http://www.fourcornersalliancegroup.com/?a=shafiqholmes
>>
>> "The most beautiful people we have known are those who have known defeat,
>> known suffering, known struggle, known loss and have found their way out
>> of
>> the depths. These persons have an appreciation, a sensitivity and an
>> understanding of life that fills them with compassion, gentleness and a
>> deep loving concern. Beautiful people do not just happen." - *Elisabeth
>> Kubler-Ross*
>>
>> -
>> To unsubscribe, e-mail: user-unsubscr...@cassandra.apache.org
>> For additional commands, e-mail: user-h...@cassandra.apache.org
>>
>
>


-- 
Lutaaya Shafiq
Web: www.ronzag.com | i...@ronzag.com
Mobile: +256702772721 | +256783564130
Twitter: @lutayashafiq
Skype: lutaya5
Blog: lutayashafiq.com
http://www.fourcornersalliancegroup.com/?a=shafiqholmes

"The most beautiful people we have known are those who have known defeat,
known suffering, known struggle, known loss and have found their way out of
the depths. These persons have an appreciation, a sensitivity and an
understanding of life that fills them with compassion, gentleness and a
deep loving concern. Beautiful people do not just happen." - *Elisabeth
Kubler-Ross*

-
To unsubscribe, e-mail: user-unsubscr...@cassandra.apache.org
For additional commands, e-mail: user-h...@cassandra.apache.org



Re: How can I install a Java Spring Application running Cassandra on to AWS

2017-10-17 Thread Who Dadddy
http://lmgtfy.com/?q=install+java+app+on+AWS 


> On 17 Oct 2017, at 15:32, Lutaya Shafiq Holmes  wrote:
> 
> How can I install a Java Spring Application running Cassandra  on to  AWS
> -- 
> Lutaaya Shafiq
> Web: www.ronzag.com | i...@ronzag.com
> Mobile: +256702772721 | +256783564130
> Twitter: @lutayashafiq
> Skype: lutaya5
> Blog: lutayashafiq.com
> http://www.fourcornersalliancegroup.com/?a=shafiqholmes
> 
> "The most beautiful people we have known are those who have known defeat,
> known suffering, known struggle, known loss and have found their way out of
> the depths. These persons have an appreciation, a sensitivity and an
> understanding of life that fills them with compassion, gentleness and a
> deep loving concern. Beautiful people do not just happen." - *Elisabeth
> Kubler-Ross*
> 
> -
> To unsubscribe, e-mail: user-unsubscr...@cassandra.apache.org
> For additional commands, e-mail: user-h...@cassandra.apache.org
> 



How can I install a Java Spring Application running Cassandra on to AWS

2017-10-17 Thread Lutaya Shafiq Holmes
How can I install a Java Spring Application running Cassandra  on to  AWS
-- 
Lutaaya Shafiq
Web: www.ronzag.com | i...@ronzag.com
Mobile: +256702772721 | +256783564130
Twitter: @lutayashafiq
Skype: lutaya5
Blog: lutayashafiq.com
http://www.fourcornersalliancegroup.com/?a=shafiqholmes

"The most beautiful people we have known are those who have known defeat,
known suffering, known struggle, known loss and have found their way out of
the depths. These persons have an appreciation, a sensitivity and an
understanding of life that fills them with compassion, gentleness and a
deep loving concern. Beautiful people do not just happen." - *Elisabeth
Kubler-Ross*

-
To unsubscribe, e-mail: user-unsubscr...@cassandra.apache.org
For additional commands, e-mail: user-h...@cassandra.apache.org



Re: Elastic IP for Cassandra in AWS

2017-10-17 Thread Justin Cameron
+1

Scaling up & down can also take some time (multiple days even) if the nodes
in the cluster hold a lot of data. The process has a performance impact on
the cluster, as the rest of the cluster must stream data to the new nodes,
or stream data away from the decommissioning nodes, also usually leading to
increased compaction activity. When adding/removing multiple nodes in
parallel this performance impact is increased. If the cluster is already
under very heavy load, or has other performance-related issues, then an ASG
automatically adding multiple nodes could be enough to bring your
application down or make it unusable. It's usually also a good idea to run
a repair afterwards.

You'd also need to handle the case where the ASG decided to remove nodes
that were still joining the cluster.

Definitely not impossible, but not an easy task.

On Tue, 17 Oct 2017 at 16:40 Jeff Jirsa  wrote:

> Just to expand on this:
>
> In an asg environment, you could have an autoscaling event to expand or
> shrink the cluster and multiple nodes terminate at the same time. Your
> userdata or your AMI would have to know how to find the cluster, know how
> many instances were down and what the target size was, check to see which
> of those were down from app level issues versus down from instance level
> issues, vs not joined the cluster yet, figure out which of the down
> instances it is meant to replace, and then rejoin the cluster before
> another replica fails. And even without down instances, simultaneous
> bootstrap and decom has serious implications for consistency guarantees.
>
> It’s not impossible, but it’s far from trivial, and figuring out how to
> grab an appropriate EIP is about the easiest part of it. If you remove the
> scale in/our component it gets a lot easier, but then you likely don’t
> really need an ASG at all.
>
>
>
> --
> Jeff Jirsa
>
>
> On Oct 16, 2017, at 10:06 PM, Justin Cameron 
> wrote:
>
> I wouldn't recommend putting your Cassandra nodes in an ASG. Scaling
> production Cassandra clusters can be a tricky process that should be done
> manually. There are a lot of things that can go wrong if you aren't
> watching/controlling the process.
>
> Terraform is a good option for automating complex AWS deployments. It also
> allows you to scale your cluster incrementally once it's been deployed.
> CloudFormation is another option. There are also fully managed services
> that will take care of it all for you, such as Instaclustr (full disclosure
> - I work for Instaclustr).
>
>
> On Tue, 17 Oct 2017 at 15:45 cass savy  wrote:
>
>> How can we solve EIP allocation using APIs for  multiple nodes that are
>> in one ASG? What are the config management tools  that you are referring to?
>>
>> On Mon, Oct 16, 2017 at 9:23 PM, kurt greaves 
>> wrote:
>>
>>> AWS API's provide the functionality to allocate and associate elastic
>>> IPs to instances. Generally the API's aren't pretty but they work. What
>>> issues are you having? If it's a configuration problem there are a variety
>>> of config management tools that you can use to populate the yaml/env files
>>> with the correct IP addresses.​
>>>
>>
>> --
>
>
> *Justin Cameron*Senior Software Engineer
>
>
> 
>
>
> This email has been sent on behalf of Instaclustr Pty. Limited (Australia)
> and Instaclustr Inc (USA).
>
> This email and any attachments may contain confidential and legally
> privileged information.  If you are not the intended recipient, do not copy
> or disclose its content, but please reply to this email immediately and
> highlight the error to the sender and then immediately delete the message.
>
> --


*Justin Cameron*Senior Software Engineer





This email has been sent on behalf of Instaclustr Pty. Limited (Australia)
and Instaclustr Inc (USA).

This email and any attachments may contain confidential and legally
privileged information.  If you are not the intended recipient, do not copy
or disclose its content, but please reply to this email immediately and
highlight the error to the sender and then immediately delete the message.


Re: Elastic IP for Cassandra in AWS

2017-10-17 Thread Oleksandr Shulgin
On Tue, Oct 17, 2017 at 7:40 AM, Jeff Jirsa  wrote:

> Just to expand on this:
>
> In an asg environment, you could have an autoscaling event to expand or
> shrink the cluster and multiple nodes terminate at the same time. Your
> userdata or your AMI would have to know how to find the cluster, know how
> many instances were down and what the target size was, check to see which
> of those were down from app level issues versus down from instance level
> issues, vs not joined the cluster yet, figure out which of the down
> instances it is meant to replace, and then rejoin the cluster before
> another replica fails. And even without down instances, simultaneous
> bootstrap and decom has serious implications for consistency guarantees.
>
> It’s not impossible, but it’s far from trivial, and figuring out how to
> grab an appropriate EIP is about the easiest part of it. If you remove the
> scale in/our component it gets a lot easier, but then you likely don’t
> really need an ASG at all.
>

We've actually tried both approaches[1,2] and I can say that AutoScaling
isn't suitable for Cassandra deployment.  It might be all OK for a while,
but as soon as a node fails, it's pretty tricky to automate (and in
general: impossible w/o data loss) to bring up a replacement node in a sane
way.

Why put Cassandra nodes in AutoScaling Group at all?  If that's for
recovering lost nodes, then you'd better have a look on auto-recovery
features of AWS.  That one requires use of EBS for data, so you won't be
able to run the locally-attached SSD storage, but not every application
needs that speed.  Remember, most of IO in Cassandra is sequential by
design anyway.

To answer original question, allocating an EIP is more or less a single
line of Python code:
https://github.com/zalando/planb-cassandra/blob/7f1dfcb99a77eda72bce97da8f9b15412eed3c1a/planb/create_cluster.py#L253

Associating an EIP with a running instance is another line:
https://github.com/zalando/planb-cassandra/blob/7f1dfcb99a77eda72bce97da8f9b15412eed3c1a/planb/create_cluster.py#L477

[1] https://github.com/a1exsh/stups-cassandra
[2] https://github.com/zalando/planb-cassandra/

Cheers,
--
Alex