Tob*_*oby 5 heroku mongodb meteor mongodb-replica-set
今天早上,我将我更新的Meteor项目部署到Heroku上.
我正在升级1.1.0.3
到1.4.1.1
.
使用Meteor Buildpack Horse一切安装正确,但应用程序错误输出错误;
MongoError:种子列表不包含mongos代理,replicaset连接需要在URI或options对象中提供参数replicaSet,mongodb:// server:port/db?replicaSet = name
我MONGO_URL
被mongodb://u:p@url1:port,url2:port/db
改成了;
mongodb://u:p@url1:port,url2:port/db?replicaSet=set-name
如果我使用replicaSet参数出错,我会收到此错误;
MongoError:在replicaset中找不到主要内容
这似乎是明智的,因为replicaset不存在,但是当我把正确的值放入时,我再次得到原始错误,说种子列表不包含代理.
我的副本集名称中有一个破折号,我不知道这是否相关.
我尝试使用在Mongo客户端中抛出此错误的URL,它允许我连接到实例,所以我知道所有细节都是正确的.
我也试过转义replicaSet,所以?replicaSet=set\-name
这给了我MongoError: no primary found in replicaset
错误.
我和MongoDB提供商签了一张门票,但我怀疑这是Meteor/me的问题!
Meteor v1.4使用新版本的MongoDB驱动程序.
虽然MONGO_URL
环境变量的格式正确,但错误是由MONGO_OPLOG_URL
,应该修改为包含replicaSet
参数.
有关更多详细信息和以下注释(关于Compose.io),请参阅此GitHub问题.
Oplog尾部在开发模式下自动启用
meteor run
,并且可以在生产MONGO_OPLOG_URL
环境变量中启用.(......)
要在生产Meteor应用程序中使用oplog拖尾,必须将MongoDB服务器配置为副本集 ; 单个
mongod
数据库没有oplog.您的群集可能不使用Mongo分片.
和迁移指南:
从1.4开始,您必须确保
MONGO_OPLOG_URL
包含replicaSet
参数(请参阅changelog和oplog文档).注意:某些MongoDB主机提供程序可能具有不要求您使用
replicaSet
参数的部署设置.例如,Compose.io有两种类型的部署,MongoDB Classic和MongoDB +.新的MongoDB +产品是分片设置而不是真正的副本集(尽管分片被实现为副本集)因此它不需要replicaSet
参数,如果将Meteor添加到连接字符串中,Meteor将抛出错误.
归档时间: |
|
查看次数: |
4812 次 |
最近记录: |