2016-09-02 54 views
1

我有一个Cassandra集群,其中有5个C *节点。所有数据都在1个节点上复制。数据在节点之间进行分区。如何设置MongoDB Sharded Cluster来对Cassandra进行基准测试?

我使用MongoDB手册来设置Sharded Cluster,但我觉得如果我需要configsvr和App Server的更多节点,这不是一个理想的设置,可以用它来对Cassandra集群进行基准测试。

  • 如何设置一个包含5个节点的“MongoDB”分片群集,以“模仿”我的Cassandra群集配置?
  • Can ConfigSvr,App Servers是否与ShardSvr在同一个节点上运行?如何为进程指定不同的配置?
  • 我需要多少副本套件?我认为一个副本集拥有完全相同的数据,因此将所有节点添加到一个副本集中将不起作用。有没有比引入5个包含两个节点的副本集更简单的方法?

回答

0

这就是我想出了:

  1. 如何设置了5个节点是“模仿”我的卡桑德拉群集配置中的MongoDB分片集群?

为此,人们可以在不复制的情况下使用分片群集。这也是怎样的方式Datastax used与对卡桑德拉和其他数据库YCSB基准的MongoDB的基准是:

No configuration files were used for MongoDB; instead the services were started with the parameters in the command line. For the first instance that has a configuration database: 
bin/mongod --fork --logpath /var/log/mongodb/mongocfg.log --logappend --dbpath /mnt/mongodb/mongocfg –configsvr 

Each service was then started: 
bin/mongod --fork --logpath /var/log/mongodb/mongodb.log --logappend --dbpath /mnt/mongodb/mongodb --shardsvr --storageEngine wiredTiger 
bin/mongos –-fork --logpath /var/log/mongodb/mongos.log --logappend --configdb $MONGO_MASTER 

注意,这个问题被问,因为我们想基准卡桑德拉VS MongoDB的。这不适合生产环境。

  • 能ConfigSvr,应用服务器相同的节点作为ShardSvr上运行?如何为进程指定不同的配置?
  • 是的,他们可以。您可以为进程使用不同的配置文件,也可以在命令行上运行它们。如何做到这一点在MongoDB文档中概述。

    1. 需要多少副本套件?我认为一个副本集拥有完全相同的数据,因此将所有节点添加到一个副本集中将不起作用。有没有比引入5个包含两个节点的副本集更简单的方法?

    当基准为您的使用情况数据库,它也可能适合在所有使用没有复制为基准的时间。这就是Datastax所做的,请参阅答案1中的链接。

    如果您需要复制,那么当您有5个节点时,还可以构建一个3节点副本集和一个2节点副本集,并附加arbiter

    使用6个节点,您可以使用3个2节点副本集,每个集都有一个仲裁器。这最能模仿Cassandra的复制因子1。

    相关问题