我有一个必要的系统,需要在三个或更多的不同位置的物理存在,我需要build立在这样一种方式,我的数据库保持及时复制没有可怕的延迟的build议。 我看到,当应用程序服务器试图与没有物理configuration的节点对话时,mysql访问和复制的速度非常慢。 在这种情况下,我正在使用mongodb。 这个堆栈是linux / passenger / ruby / rails / mongodb。 数据库写入重读光。 基础设施是亚马逊EC2 应用程序层必须位于3个或更多不同的位置。 我不能certificate这一要求超出了要求。 但是,如果数据库可以从其他位置快速写入,则不需要位于多个位置。 从阅读mongo的文档,mongo复制看起来更像是一个候选人而不是分区b / c,我的数据存储区不是很大。 但是,我没有看到任何解决远距离服务器通信速度问题的可能性很高的问题。
我正在尝试在Windows 8上安装mongodb作为服务。 我正在使用下面的命令来安装Mongodb 。 C:\mongodb\bin\mongod.exe –auth –config C:\mongodb\mongod.cfg –install 我得到这个错误: Wed Mar 13 19:13:23 Trying to install Windows service 'MongoDB' Wed Mar 13 19:13:23 Error connecting to the Service Control Manager: Access is denied. (5) 我如何安装Mongodb服务? 我尝试使用pipe理员权限,但问题仍然没有解决。
我在Windows环境下对MongoDB进行了简单的testing。 ID(int32)和Buffer(byte [4096])对象的单个集合按顺序填充。 几乎达到15G(总计16G)的RAM达到了,环境变成了小故障。 一些应用程序被杀害,桌面改变了它的决议,然后它完全挂起。 在硬重启后,我在mongo log中发现了很多这样的logging: VirtualProtect失败(mcw)e:/Databases/+MongoDB/TestFS/TestFS.7 256400000000 4000000 errno:1455分页文件太小,无法完成此操作。 MapViewOfFile失败e:/Databases/+MongoDB/TestFS/TestFS.26 errno:1450系统资源不足以完成请求的服务。 另外,MongoDB无法连接(到任何数据库)。 日记function已启用。 日志中没有任何错误。 我只能通过删除日志和损坏的数据库来修复它。 这与我希望在生产中看到的行为相去甚远,但我知道现在有很多生产设备。 所以我想明白,我错过了什么或做错了什么。
我们的mongodb进程始终如一地使用我们的CPU(这是在Linode上的一个Ubuntu 64位服务器上)的100%,并且我们正在大力改进性能。 我们发现的一个build议是,MongoDB和NUMA不能很好地协同工作: http : //docs.mongodb.org/manual/administration/production-notes/#production-numa 我注意到/proc/sys/vm/zone_reclaim_mode已经设置为0,并且numactl当前没有安装。 我的问题:我如何知道我们的服务器是否已经启用了NUMA,以及我们是否应该按照以上链接的build议来启动Mongo,并使用以下命令? numactl –interleave=all /usr/bin/local/mongod 这是/proc/cpuinfo的内容(前3个部分被压缩,因为除了“处理器”行之外,输出是相同的): processor : 3 vendor_id : GenuineIntel cpu family : 6 model : 45 model name : Intel(R) Xeon(R) CPU E5-2650L 0 @ 1.80GHz stepping : 7 microcode : 0x70a cpu MHz : 1800.077 cache size : 20480 KB physical id : 0 siblings […]
我想用GoDaddy Shared Hosting(Linux)来设置MongoDB。 我已经启用SSH访问。 我可以在doc根目录之外成功地上传,提取和运行MongoDB。 但是,如何确保MongoDB始终运行并准备好接受事务? 我怎样才能访问它?
我有一个在mongoDB中的集合,在一个本地运行的项目,并且必须将集合复制到dev服务器。 你能告诉我怎么做,考虑到: 本地机器(源)可以从外部访问,但只能使用IP。 本地mongo的版本是2.0.4,而dev服务器上的mongo版本是2.2.2。 我做了一点研究,但我不确定有些事情…比如我应该为源数据库select哪种凭据? …用于SSH连接的那些? … 要么 … ? … 提前致谢 :)
我试图通过yum为我的centos 5.1服务器安装mongodb。 我遵循在yum文件夹中创build.repo文件的说明,但它仍然不起作用。 这里是问题的截图: —- http://prntscr.com/41b22y 我键入yum安装mongodb组织,但即时通讯“无事可做”的错误。 我不确定我做错了什么。 我什至做了百胜makecache ,仍然没有工作。 #### cat mongodb.repo [mongodb] name=MongoDB Repository baseurl=http://downloads-distro.mongodb.org/repo/redhat/os/x86_64 gpgcheck=0 enabled=1 [/etc/yum.repos.d] # yum install mongodb-org Loaded plugins: fastestmirror, priorities Determining fastest mirrors addons | 1.9 kB 00:00 base | 1.1 kB 00:00 extras | 2.1 kB 00:00 mongodb | 951 B 00:00 updates | 1.9 kB […]
我已经阅读了关于安装旧版本的说明,但是看起来版本 2.4中不再可用了? aptitude -y install mongodb-org-server=2.4 Unable to find a version "2.4" for the package "mongodb-org-server" Unable to find a version "2.4" for the package "mongodb-org-server" The following NEW packages will be installed: mongodb-org-server 0 packages upgraded, 1 newly installed, 0 to remove and 0 not upgraded. Need to get 0 B/9,416 kB of archives. […]
在HAProxy博客上有一个fastcgi二进制健康检查的例子。 我将如何构build一个类似的检查MongoDB,这样我正在做一个更健壮的健康检查MongoDB – validation服务器是否真的在那里和响应,而不是只是检查端口是否打开? 如果运行状况检查足够通用以适用于各种MongoDB分片组件(configuration服务器, mongos , mongod ),那将会很有用。
如何设置MongoDB,使其在服务器重启后自动启动? 这是在CentOS 5.5。 我用下面的命令启动它,但是如果服务器重新启动,我必须login到SSH并再次运行,以实现它(不是真正的交易,但很高兴知道,这是不必要的,如果我没有访问服务器)。 ./mongod –config ./mongodb.config –fork –logpath /var/log/mongodb.log –logappend