The production version of Hadoop and Cassandra combination needs to go into a separate cluster. The first obvious issue is you probably wouldn't want Hadoop to keep pulling Cassandra nodes, hampering Cassandra performance to end users. The general pattern to avoid this is to split the ring into two data centers. Since Cassandra automatically and immediately replicates the changes between data centers, they will be in sync always. What's more, you can assign one of the data centers as a transactional with a higher replication factor and the other as an analytical data center with a replication factor of 1. The analytical data center is the one used by Hadoop without affecting the transactional data center a bit.
Now, you do not really need to have two physically separated data centers to make this configuration work. Remember NetworkTopologyStrategy
? (Refer to the NetworkTopologyStrategy section in Chapter 4, Deploying a Cluster.) You can tweak Cassandra thinking...