Mongodb db.serverStatus().storageEngine 未显示

Mongodb db.serverStatus().storageEngine are not shown

我正在使用 MongoDB 版本 4.2.8

存储引擎是wiredTiger

我输入了 db.serverStatus().wiredTiger 来监控缓存使用情况,但是没有显示 storageEngine 和 wiredTiger 字段。

另一方面,由standalone组成可以看到这些字段

我们不能在分片集群模式下检查吗?

这是我的分片服务器和配置服务器配置文件

systemLog:
  verbosity: 0
  traceAllExceptions: true
  path: "~~~~~"
  logAppend: false
  logRotate: "rename"
  destination: "file"
  timeStampFormat: "iso8601-utc"

net:
  port: 20001
  bindIp: "0.0.0.0"

storage:
  dbPath: "~~~~~~"
  journal:
    enabled: true
    commitIntervalMs: 100
  directoryPerDB: true
  engine: "wiredTiger"
  wiredTiger:
    engineConfig:
      cacheSizeGB: 1.0
    collectionConfig:
      blockCompressor: "snappy"
    indexConfig:
      prefixCompression: true

security:
  keyFile: "~~~~~"

sharding:
  clusterRole: "configsvr"

replication:
  replSetName: "config-server"

    systemLog:
      verbosity: 0
      traceAllExceptions: true
      path: "~~~~~~"
      logAppend: false
      logRotate: "rename"
      destination: "file"
      timeStampFormat: "iso8601-utc"
    
    net:
      port: 20002
      bindIp: "0.0.0.0"
    
    storage:
      dbPath: "~~~~"
      journal:
        enabled: true
        commitIntervalMs: 100
      directoryPerDB: true
      engine: "wiredTiger"
      wiredTiger:
        engineConfig:
          cacheSizeGB: 10.0
        collectionConfig:
          blockCompressor: "snappy"
        indexConfig:
          prefixCompression: true
    
    security:
      keyFile: "~~~~~"
    
    sharding:
      clusterRole: "shardsvr"
    
    replication:

  replSetName: "shard1-server"

mongos 本身不存储任何数据,这可能是它不报告存储引擎的原因。

我不知道你是否可以在不同的分片中使用不同的存储引擎,对我来说理论上是可行的。

您可以使用 https://docs.mongodb.com/manual/reference/command/listShards/ 来识别分片并查询每个分片的存储引擎。