我已经安装了 2.4 版 mongoDB,我想与最近发布的 2.6 版进行比较。
我想知道是否可以进行全新安装而不是更新,以查看这两个版本是否可以在同一台服务器上共存。
我目前正在使用 Linux red-hat 发行版。
谢谢。
答案1
看看mlaunch
工具经过托马斯·鲁克斯泰斯. 从下载页面按照评论中的建议(并将它们放在系统上有意义的地方),然后您可以mlaunch
通过指定不同的配置来启动相同的配置进行测试二进制路径(和数据目录,港口如果并行运行多个,则情况也是如此。)
如果你不需要额外的工具,你可以使用 MongoDB 提供的内部测试命令来实现类似的结果,但请注意这些命令目前仅用于测试目的,没有记录,并且可以随时更改(或停止工作)(我最近对 2.4 和 2.6 版本进行了测试,并且可以确认在撰写此答案时它们适用于这些版本)。
例如,如果您想设置一个 2 分片集群,其中每个分片都是一个副本集,则可以执行以下操作:
// start a shell from the command line, do not connect to a database
./mongo --nodb
// using that shell start a new 2 shard cluster (this will take a while)
cluster = new ShardingTest({shards : 2, rs : true});
// once that is finished, start a new shell and connect to the mongos (leave previous shell running to monitor logs etc.)
./mongo --port 30999
MongoDB shell version: 2.6.0
connecting to: 127.0.0.1:30999/test
mongos>
根据需要重复并重新使用您想要的任何版本,关闭它,只需Ctrl-C
原始 shell(希望其中的内容仍然可以记录)。
类似地,如果您只想要一个副本集来测试:
// start a shell from the command line, do not connect to a database
./mongo --nodb
var rst = new ReplSetTest({ name: 'testSet', nodes: 3});
rst.startSet();
// this next line can be hard to type with logging scrolling by, so copy & paste is your friend if you have trouble
rst.initiate();
// start a new shell and connect to the set
./mongo --port 31000
MongoDB shell version: 2.4.9
connecting to: 127.0.0.1:31000/test
testSet:PRIMARY>
答案2
这些命令可用于下载 mongodb rpm 并提取文件。提取包内容后,二进制文件可直接使用。
yum install yum-plugin-downloadonly
yum install --downloadonly --downloaddir=/tmp mongodb-org-server
mkdir /usr/local/mongo2
cd /usr/local/mongo2
rpm2cpio /tmp/mongodb-org-server-2.6.4-1.x86_64.rpm | cpio -idmv
现在,mongod
可以通过以下方式调用 new:
/usr/local/mongo2/usr/bin/mongod