2013-02-12 59 views
8

我正在使用Cassandra來存儲我的數據和配置單元以處理我的數據。 我有5臺機器上設置了cassandra和2臺機器作爲分析節點(其中配置單元運行) 因此,我想問的是,是否在兩臺機器(分析節點)上配置了映射減少並將數據帶到那裏或它將進程/計算移動到5個cassandra節點,並在這些機器上處理/計算數據(我知道在hadoop中,進程轉移到數據而不是數據進行處理)。cassandra數據庫上的Hadoop

回答

16

如果您有興趣與Hadoop和Cassandra結婚 - 第一個鏈接應該是圍繞這個概念構建的DataStax公司。 http://www.datastax.com/ 他們用HDFS替換cassandra來構建和支持hadoop。 在盡我的理解 - 他們有數據局部性:http://blog.octo.com/en/introduction-to-datastax-brisk-an-hadoop-and-cassandra-distribution/

有一個關於Hadoop的& Cassandra的數據局部性好的答案,如果你運行的MapReduce對Cassandra的 Cassandra and MapReduce - minimal setup requirements

關於你的問題 - 有一個tradeof : a)如果在單獨的節點上運行Hadoop/Hive,則會丟失數據本地及其數據吞吐量,這受限於網絡帶寬。 b)如果您在與cassandra運行相同的節點上運行hadoop/Hive - 您可以獲取數據位置,但在hive查詢後面執行MapReduce處理可能會阻塞您的網絡(以及其他資源),從而影響cassandra的服務質量。

如果您的cassandra集羣的性能至關重要,我的建議是將單獨的配置單元節點。
如果您的cassandra主要用作數據存儲並且不處理實時請求 - 那麼在每個節點上運行配置單元將提高性能和硬件利用率。

+0

非常感謝您的幫助 – 2013-02-12 11:15:48