我注意到從2.6.11
轉儲(從另一個系統)到3.2.5
系統執行mongorestore
後出現異常。簡而言之,收集文件的新系統上的名字(在/var/lib/mongodb
)命名不同,格式如下:如何mongorestore 2.6.11轉儲到3.2.5系統?
collection-55--6670716476518949126.wt
index-1--6670716476518949126.wt
而對舊體制,藏品均/home/mongodb
並遵循這種命名約定:
collection_name.0
collection_name.1
collection_name.ns
奇怪的是,似乎一切都「工作」不過,即使〜舊系統上的150MB收集文件大小未在新的集合文件大小(這是150KB〜)表示。
我是繼答案:
How to migrate MongoDB 2.6 to 3.0 with WiredTiger
這基本上表明:
- 執行
mongodump
。 - 停止
mongod
- 升級的MongoDB版本
- 在
/etc/mongod.conf
轉換舊的配置文件到新的YAML格式。 - 重新啓動
mongod
- 對轉儲執行
mongorestore
。
由於我做了mongorestore
到一個新的MongoDB 3.2.5安裝,但是,我已經在YAML格式的配置文件(見下文)。
這麼看來,我需要做的唯一步驟是mongorestore
- 我已經做了,並導致上面提到的異常。
我的問題是:
01)是否有我應該執行的任何其他步驟?
02)是否預期這些文件命名爲「異常」?
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: