有一个fastcgi二进制健康检查的例子在HAProxy的博客。我将如何为 MongoDB 构建一个类似的检查,以便我对它进行更强大的健康检查MongoDB- 一个验证服务器实际上在那里并做出响应而不是仅仅检查端口是否打开的检查?
如果运行状况检查足够通用以与各种MongoDB分片组件(配置服务器、mongos、mongod)一起使用,这将非常有用。
我正在尝试按照建议为 mongo 256 或更少设置预读,我查看了文档 以获取任何指导,我发现了这一点:
确保存储数据库文件的块设备的预读设置适当。对于随机访问使用模式,设置较低的预读值。32 (16kb) 的预读通常效果很好。对于标准块设备,您可以运行
sudo blockdev --report以获取预读设置并sudo blockdev --setra <value> <device>更改预读设置。有关详细信息,请参阅您的特定操作系统手册。
当我做一个sudo blockdev --report我得到:
rw 8192 512 4096 0 32212254720 /dev/sda
rw 8192 512 4096 2048 31162630144 /dev/sda1
rw 8192 512 4096 60866560 1048576000 /dev/sda2
rw 8192 512 4096 0 75161927680 /dev/sdb
rw 8192 512 4096 2048 75159830528 /dev/sdb1
Run Code Online (Sandbox Code Playgroud)
我怎么知道哪个是与 mongo 相关的?
我们想要创建一个 MongoDB 分片(v. 2.4)。官方文档建议有 3 个配置服务器。
但是,我们公司的政策不允许我们为此目的获得 3 台额外的服务器。由于我们已经有 3 个应用服务器(1 个 web 节点,2 个进程节点),我们正在考虑将配置服务器与 mongos 放在同一个应用服务器中。可用性对我们来说并不重要。
你觉得这个配置怎么样?我们可以面对一些问题还是因为某种原因而气馁?
我想使用 GoDaddy 共享主机 (Linux) 设置 MongoDB。我已经启用了 SSH 访问。我可以在文档根目录之外成功上传、提取和运行 MongoDB。
但是,我如何确保 MongoDB 始终运行并准备好接受事务?我怎样才能访问它?
我在windows环境下对MongoDB做了一个简单的测试。具有 ID (int32) 和 Buffer (byte[4096]) 的单个对象集合按顺序填充。在达到近 15G(总共 16G)RAM 后,环境出现故障。一些应用程序被杀死,桌面更改其分辨率,然后完全挂起。硬重启后,我在 mongo 日志中发现了很多这样的记录:
VirtualProtect failed (mcw) e:/Databases/+MongoDB/TestFS/TestFS.7 256400000000 4000000 errno:1455 分页文件太小,无法完成此操作。
MapViewOfFile 失败 e:/Databases/+MongoDB/TestFS/TestFS.26 errno:1450 系统资源不足,无法完成请求的服务。
此外,MongoDB 无法再连接(连接到任何数据库)。日记功能已启用。日志中没有任何错误。我只能通过删除日志和损坏的数据库来修复它。这与我希望在生产中看到的行为相去甚远,但我知道,存在大量的生产安装。所以我试图理解,我错过了什么或做错了什么。
我们希望在 Ubuntu 12.04 上安装 mongoDB,并且正在研究不同的安装选项。
目前正在检查 a) apt-get b) 检索二进制文件 (wget) 并手动安装
安装 mongoDB 以保持与稳定版本保持同步的推荐方法是什么?
我有一个系统,它必然需要在三个或更多不同的位置物理存在,我需要关于以这样一种方式构建的建议,以便我的数据库保持及时复制而不会出现可怕的延迟。我已经看到当应用程序服务器试图与一个物理上没有并置的节点通信时,mysql 访问和复制非常慢。在这种情况下,我使用的是 mongodb。
从阅读 mongo 的文档来看,mongo 复制似乎比分片 b/c 更像是一个候选者,我的数据存储并不大。但是,我没有看到任何可以解决具有潜在高延迟的远距离通信的服务器速度问题的方法。
我有一个 MongoDB 实例在带有 Ubuntu Server 12.04 的 VMWare VM 中运行。突然服务器崩溃了,当我尝试重新启动它时,出现以下错误:
jonathanong@ubuntu:~/mongodb/solo$ /usr/bin/mongod --fork --port 27027 --dbpath ~/mongodb/solo --logpath ~/mongodb/solo/mongodb.log
Thu Jan 17 00:54:25 Assertion failure getcwd( buffer , 1000 ) src/mongo/db/cmdline.cpp 188
0xaffd31 0xac65cd 0x6878a8 0x55f070 0x565d39 0x7f2b226d176d 0x558149
/usr/bin/mongod(_ZN5mongo15printStackTraceERSo+0x21) [0xaffd31]
/usr/bin/mongod(_ZN5mongo12verifyFailedEPKcS1_j+0xfd) [0xac65cd]
/usr/bin/mongod(_ZN5mongo7CmdLine5storeEiPPcRN5boost15program_options19options_descriptionES6_RNS4_30positional_options_descriptionERNS4_13variables_mapE+0x4a38) [0x6878a8]
/usr/bin/mongod() [0x55f070]
/usr/bin/mongod(main+0x9) [0x565d39]
/lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xed) [0x7f2b226d176d]
/usr/bin/mongod(__gxx_personality_v0+0x471) [0x558149]
Thu Jan 17 00:54:25 terminate() called, printing stack (if implemented for platform):
0xaffd31 0x55840e 0x7f2b23036846 0x7f2b23036873 0x7f2b2303696e 0xac6776 0x6878a8 0x55f070 0x565d39 0x7f2b226d176d 0x558149
/usr/bin/mongod(_ZN5mongo15printStackTraceERSo+0x21) [0xaffd31]
/usr/bin/mongod(_ZN5mongo11myterminateEv+0x3e) [0x55840e] …Run Code Online (Sandbox Code Playgroud) 我们的 mongodb 进程始终使用 >100% 的 CPU(这是在 Linode 上的 Ubuntu 64 位服务器上),我们正在努力提高性能。
我们发现的一个建议是 MongoDB 和 NUMA 不能很好地协同工作:http : //docs.mongodb.org/manual/administration/production-notes/#production-numa
我注意到它/proc/sys/vm/zone_reclaim_mode已经设置为 0 并且当前未安装 numactl。
我的问题:如何确定我们的服务器是否已经启用了 NUMA,以及我们是否应该按照上述链接中的建议使用以下命令启动 Mongo?
numactl --interleave=all /usr/bin/local/mongod
Run Code Online (Sandbox Code Playgroud)
这是以下内容/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 : …Run Code Online (Sandbox Code Playgroud) 我正在尝试通过 yum 为我的 centos 5.1 服务器安装 mongodb。我按照在 yum 文件夹中创建 .repo 文件的说明进行操作,但它仍然不起作用。这是问题的屏幕截图:
---- http://prntscr.com/41b22y
我输入了yum install mongodb-org但我收到了一个“无事可做”的错误。我不确定我做错了什么。我什至做了yum 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 00:00
wiredtree | 951 B 00:00
Excluding Packages in global exclude list
Finished
Excluding …Run Code Online (Sandbox Code Playgroud) mongodb ×10
amazon-ec2 ×1
apache-2.2 ×1
block-device ×1
centos ×1
centos5 ×1
centos7 ×1
godaddy ×1
haproxy ×1
installation ×1
linux ×1
numa ×1
replication ×1
sharding ×1
yum ×1