【问题标题】:How to convert MongoDB storage engine from wiredTiger to In-Memory in replica set?如何将MongoDB存储引擎从wiredTiger转换为副本集中的In-Memory?
【发布时间】:2018-10-01 15:15:08
【问题描述】:

我使用 WiredTiger 有 3 个节点的 mongoDB 副本集。我想使用内存引擎。所以两个节点将使用内存(其中一个是主节点),第三个节点将使用 WT(用作仲裁器)。是否可以将两个节点的存储引擎从 WT 转换为内存中?如果可以,请分享一些资源。另外,内存中的 mongoDB 副本集是否有任何最佳实践?

谢谢

【问题讨论】:

  • 请记住arbiter does not store data,因此如果您的前 2 个节点使用内存存储引擎,那么 WiredTiger 节点可以成为仲裁者。

标签: mongodb in-memory replicaset wiredtiger


【解决方案1】:

根据mongoDB Documentation,您的副本集配置很好,您必须遵循一些规则:

  • 应隐藏使用 WiredTiger 运行的实例
  • 它的优先级应该设置为0(这是optionnal,如果你设置了属性arbiterOnly: true

从命令行将实例设置为 inMemory 模式:

mongod --storageEngine inMemory --dbpath <path>

或者,如果使用 YAML 配置文件格式:

storage:
   engine: inMemory
   dbPath: <path>

【讨论】:

  • 谢谢@Paradise228。 mongod --storageEngine inMemory --dbpath &lt;path&gt; 这会覆盖现有的wiredTiger 存储引擎吗?
  • 是的,你可以在mongo shell中运行db.serverStatus().storageEngine查看结果
猜你喜欢
  • 2016-10-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-09-07
  • 2016-03-18
相关资源
最近更新 更多