将Cassandra数据存储到其他分布式文件系统,如MapR和hdfs上是否可行?

问题描述 投票:0回答:1

我只是想知道将apache Cassandra的数据存储到其他分布式文件系统上的影响,比如说,我有一个5节点的Hadoop集群,复制系数为3。

比如说,我有一个5个节点的Hadoop集群,复制因子为3。

同样的,对于cassandra来说,我有5个节点的集群,所有键空间的复制因子为3,所有的数据将被存储在hdfs位置,并具有相同的Mount路径。

例如:节点-0 Cassandra数据目录-"datausercassandra-0"

和Cassandra日志目录-"datausercassandra-0logs"。

在这样的架构下,我需要对以下几点进行评论--------。

  1. 正如在datastax文档中建议的那样,casaandra数据和commitlog目录应该是不同的,在这种情况下是不可能的。在默认配置下,casaandra的提交日志大小是8192MB。所以根据我的理解,如果我有一个1TB的磁盘,如果磁盘满了或任何磁盘级别的错误,将停止整个cassandra集群?

  2. 第二个问题是关于底层存储机制。通过指定hdfs的复制因子3和cassandra的复制因子3来实现两级数据分布,那么是否相同的数据(sstables)将被存储在9个位置?会不会有很大的内存损失,请大家给点建议?

kubernetes cassandra distributed-computing datastax cassandra-3.0
1个回答
1
投票

Cassandra不支持在非本地文件系统上开箱即用的数据存储,比如HDFS等。理论上,你可以黑掉源代码来支持这一点,但这没有意义--Cassandra自己处理复制,不需要额外的文件系统层。

© www.soinside.com 2019 - 2024. All rights reserved.