如何将 mongorestore 2.6.11 转储到 3.2.5 系统?
How to mongorestore 2.6.11 dump to 3.2.5 system?
在执行从 2.6.11
转储(从另一个系统)到 3.2.5
系统的 mongorestore
后,我注意到一个异常。简而言之,new 系统(/var/lib/mongodb
)上的集合文件名称不同,并遵循以下格式:
collection-55--6670716476518949126.wt
index-1--6670716476518949126.wt
而在旧系统上,集合位于 /home/mongodb
中并遵循以下命名约定:
collection_name.0
collection_name.1
collection_name.ns
奇怪的是,尽管旧系统上的 ~150MB 集合文件大小在新集合文件大小(~150kb)中没有表示,但一切似乎都是 "working"。
我正在关注以下答案:
How to migrate MongoDB 2.6 to 3.0 with WiredTiger
这基本上表明:
- 执行
mongodump
。
- 停止
mongod
- 升级MongoDB版本
- 将位于
/etc/mongod.conf
的旧配置文件转换为新的 YAML 格式。
- 重启
mongod
- 对转储执行
mongorestore
。
当我对 MongoDB 3.2.5 安装进行 mongorestore
时,我已经有了一个 YAML 格式的配置文件(见下文)。
所以看来我需要做的唯一步骤是 mongorestore
- 我已经完成并导致了上述异常。
我的问题是:
01) 是否还有其他我应该执行的步骤?
02) 这些文件命名 'anomalies' 是预期的吗?
03) 为什么合集文件大小差异这么大?
我问是为了避免后面因为漏掉一个重要的步骤而出现问题。
/etc/mongod.conf
# mongod.conf
# for documentation of all options, see:
# http://docs.mongodb.org/manual/reference/configuration-options/
# Where and how to store data.
storage:
dbPath: /var/lib/mongodb
journal:
enabled: true
# engine:
# mmapv1:
# wiredTiger:
# where to write logging data.
systemLog:
destination: file
logAppend: true
path: /var/log/mongodb/mongod.log
# network interfaces
net:
port: 27017
bindIp: 127.0.0.1
#processManagement:
#security:
#operationProfiling:
#replication:
#sharding:
## Enterprise-Only Options:
#auditLog:
#snmp:
文件名正确,因为 mongoDb 现在使用 wired tiger 作为默认存储引擎。
关联的大小可能不同,因为 WT 在文件中存储文档时使用不同的方法
在执行从 2.6.11
转储(从另一个系统)到 3.2.5
系统的 mongorestore
后,我注意到一个异常。简而言之,new 系统(/var/lib/mongodb
)上的集合文件名称不同,并遵循以下格式:
collection-55--6670716476518949126.wt
index-1--6670716476518949126.wt
而在旧系统上,集合位于 /home/mongodb
中并遵循以下命名约定:
collection_name.0
collection_name.1
collection_name.ns
奇怪的是,尽管旧系统上的 ~150MB 集合文件大小在新集合文件大小(~150kb)中没有表示,但一切似乎都是 "working"。
我正在关注以下答案:
How to migrate MongoDB 2.6 to 3.0 with WiredTiger
这基本上表明:
- 执行
mongodump
。 - 停止
mongod
- 升级MongoDB版本
- 将位于
/etc/mongod.conf
的旧配置文件转换为新的 YAML 格式。 - 重启
mongod
- 对转储执行
mongorestore
。
当我对 MongoDB 3.2.5 安装进行 mongorestore
时,我已经有了一个 YAML 格式的配置文件(见下文)。
所以看来我需要做的唯一步骤是 mongorestore
- 我已经完成并导致了上述异常。
我的问题是:
01) 是否还有其他我应该执行的步骤?
02) 这些文件命名 'anomalies' 是预期的吗?
03) 为什么合集文件大小差异这么大?
我问是为了避免后面因为漏掉一个重要的步骤而出现问题。
/etc/mongod.conf
# mongod.conf
# for documentation of all options, see:
# http://docs.mongodb.org/manual/reference/configuration-options/
# Where and how to store data.
storage:
dbPath: /var/lib/mongodb
journal:
enabled: true
# engine:
# mmapv1:
# wiredTiger:
# where to write logging data.
systemLog:
destination: file
logAppend: true
path: /var/log/mongodb/mongod.log
# network interfaces
net:
port: 27017
bindIp: 127.0.0.1
#processManagement:
#security:
#operationProfiling:
#replication:
#sharding:
## Enterprise-Only Options:
#auditLog:
#snmp:
文件名正确,因为 mongoDb 现在使用 wired tiger 作为默认存储引擎。 关联的大小可能不同,因为 WT 在文件中存储文档时使用不同的方法