Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/github/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Bash MongoDB分片、副本和#x27;d集群,所有配置/运行状态的查询命令?_Bash_Mongodb_Debugging_Monitoring_Diagnostics - Fatal编程技术网

Bash MongoDB分片、副本和#x27;d集群,所有配置/运行状态的查询命令?

Bash MongoDB分片、副本和#x27;d集群,所有配置/运行状态的查询命令?,bash,mongodb,debugging,monitoring,diagnostics,Bash,Mongodb,Debugging,Monitoring,Diagnostics,我发现我对所有不同的命令感到困惑,我可以作为管理员使用这些命令来发现我的MongoDB集群可能有什么问题。例如,运行split命令时,我得到一个错误“pre-condition failed”。我找到了与错误消息13105相关的代码部分,但我仍然对看到的内容感到困惑 所以我想系统地检查集群的每个部分。这些是我一开始就运行并记住的命令,但我很确定我忘记了一些!在研究Mongo之前,我从来都不是DBA,所以有一份调试信息清单对我来说真的很有帮助 所以我的问题是,我是否已经获得了从Mongo控制台获取

我发现我对所有不同的命令感到困惑,我可以作为管理员使用这些命令来发现我的MongoDB集群可能有什么问题。例如,运行split命令时,我得到一个错误“pre-condition failed”。我找到了与错误消息13105相关的代码部分,但我仍然对看到的内容感到困惑

所以我想系统地检查集群的每个部分。这些是我一开始就运行并记住的命令,但我很确定我忘记了一些!在研究Mongo之前,我从来都不是DBA,所以有一份调试信息清单对我来说真的很有帮助

所以我的问题是,我是否已经获得了从Mongo控制台获取集群各个方面的状态和配置所需的所有命令?例如,我确信我能够看到使用的每个碎片块的大小,但我还没有得到。 谢谢大家!

更新2014-11-22,修改以下列表,包括我的总结调查结果和@wdberkeley的答案。

//MongoDB调试提示
//1.获取通过的配置和IP的一般信息(在Bash中)
ps aux| grep-蒙哥
//1A.或者,查看单个服务器上配置的详细信息
使用管理员
db.serverCmdLineOpts()
//2.碎片区块/范围状态(来自mongoS均衡器节点)
sh.地位()
//2A.碎片状态,详细输出
sh.status(真实)
//3.副本集状态(来自副本集节点,而不是来自mongoS)
rs.地位()
//4.Mongo服务器信息(来自任何地方;非常长的输出)
db.serverStatus()
//5.从配置文件记录摘要,或将system.output复制/粘贴到.Log文件(从Bash)
mloginfo myCapturedLogs.log--不同
//6.诊断工具(来自Bash)
蒙哥斯塔特
蒙哥托普
//7.查看问答/参考网站。
参考文献; [6] 惊人的mtools包括日志解析和日志时间线可视化。
[7] 问答/参考网站的URL;7A.mongo Shell快速参考;7B.堆栈溢出;7C.stackexchange仅用于dba问题,例如:;8.Mongo Diagnostics常见问题解答、rs.status和db.serverStatus是主要问题。详细输出(
sh.status(true)
应该为您列出所有的块大小。还有其他可能有用的函数,例如,要查看解析的配置选项,您可以使用
db.serverCmdLineOpts
。有一个for mongo shell函数,您可以查看是否还有其他您感兴趣的函数。还有一些命令行工具,如和这将为您提供有关集群活动的有用信息


如果您发布了错误及其原因,我也可以尝试提供更具体的建议,说明该错误的值得关注之处。

ty@wdberkeley!我从您的参考链接打印了所有控制台命令,这是研究它们的好主意。我从日志中添加了更多信息。对于MongoTop和MongoStat,有没有关于要添加哪些列/信息的提示特别注意?对于sh.status(true)(即verbose),我仍然看不到每个块的磁盘大小,除非我误读了?例如,一行是;{“\u id”:90}-->{“\u id”:{“$maxKey”:1}}on:test-rs0时间戳(1,20)特别是在配置方面,我发现了另一个有用的帖子:配置-为什么mongodb配置服务器必须只有一个或三个?-堆栈溢出我解决了这个问题,而你的答案是为什么我可以这么容易地完成,所以我单击了“解决”。我打印了所有控制台命令和提醒不要忘记惊人的mtools。我也在那里找到了答案是一个仅用于dba问题的stackexchange,例如再次感谢!我的详细信息(从顶部的问题中删除);1.我运行的命令;mongos>db.adminCommand({split:“testDB.testColl”,中间:{u id:75});2.它返回了…”errmsg:“异常:在节点上写入$cmd失败:{…”whatFailed\:{“ns\:”config.chunks\,\,\“q\:{”查询\“:{\“ns\”:\“testDB.testColl\”…“errmsg\”:“前置条件失败\”3.最后在底部返回的json显示:“代码”:13105,…“errmsg”:“拆分失败”