从外壳检查存储引擎


35

我正在升级到3.0,并且在升级时遇到了一些问题。具体地说,尝试mongod通过进行启动时遇到错误ssh,它尝试使用默认值,dbpath而不是我在新的YAML配置文件中指定的默认值。我继续并重新启动了计算机,现在又重新启动mongod并运行了。在这一点上,我有点偏执,想知道是否有一种方法可以确保存储引擎wiredtiger来自外壳程序。

Answers:


61

查找当前正在使用的存储引擎的最简单方法。

内部mongo控制台类型

db.serverStatus().storageEngine

它返回当前正在使用的存储引擎

{ "name" : "wiredTiger" }

一旦确认使用wiredTiger,然后键入

db.serverStatus().wiredTiger

获取wiredTiger的所有配置详细信息。


2
只是为了确认,这也适用于Windows。
克里斯·佩顿

9

免责声明:不是MongoDB专家

检查Linux中的进程列表

WIREDTIGER_CONFIGURED=`ps -ef|grep mongod|grep -i storageengine|grep -ic wiredtiger`
echo ${WIREDTIGER_CONFIGURED}

1表示在那里

来自mongo shell

db.serverStatus()

你应该看到这样的东西

"wiredTiger" : {
   ...
   "cache" : {
      "tracked dirty bytes in the cache" : <num>,
      "bytes currently in the cache" : <num>,
      "maximum bytes configured" : <num>,
      "bytes read into cache" :<num>,

或者您可以使用以下命令拉出存储引擎名称

db.serverStatus().storageEngine.name

您将得到mmapv1wiredTiger

或从命令行

MONGO_ENGINE=`mongo -u... -p... --eval "db.serverStatus().storageEngine.name"`

我在ubuntu上,所以我尝试了Linux命令,它显示为0,但是db.serverStatus()显示了wiredTiger节点。
ton.yeung 2015年

无论哪种方式,db.serverStatus都是令人鼓舞的。有了这个,我将继续更新我的其他服务器,并在mongo上添加票证以获得明确的答案。
ton.yeung

这事有进一步更新吗?运行此命令时,我仍然得到0。
chaitanya.varanasi 2016年

2
@ chaitanya.varanasi请查看其他答案。它具有您想要的。为了清楚起见,我将这样说:如果您正在运行MongoDB 3.x,则只需运行db.serverStatus().storageEngine.name。它会说mmapv1还是wiredTiger
RolandoMySQLDBA

Grepping的--storageEngine参数只能在有限的情况下,在参数明确提供的命令行上如MongoDB的3.0。通常,mongod配置值是在配置文件中提供的,因此它们不会出现在ps输出中。在MongoDB 3.2+中,WiredTiger是默认的存储引擎,因此不需要其他参数。推荐的使用方法是db.serverStatus().storageEngine.name通过mongo外壳的第二个建议。仅供参考,如果您恰巧使用的是MongoDB 2.6或更旧的版本,则将无法使用:唯一的存储引擎是MMAP。
Stennie '16

1

mongod.log文件由描述您正在使用的存储引擎的字符串填充。
这样您就可以运行:

cat /var/log/mongodb/mongod.log  | grep STORAGE | tail -n 1

返回如下内容:

2017-06-28T21:45:24.745+0200 I STORAGE  [initandlisten] wiredtiger_open config: create,cache_size=4G,session_max=20000,eviction=(threads_min=4,threads_max=4),config_base=false,statistics=(fast),log=(enabled=true,archive=true,path=journal,compressor=snappy),file_manager=(close_idle_time=100000),checkpoint=(wait=60,log_size=2GB),statistics_log=(wait=0),
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.