2016-04-23 58 views
0

我注意到從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: 

回答

1

文件名是正確的,因爲MongoDB中現在使用有線虎作爲默認存儲引擎。 相關聯的大小可以是不同的,因爲在WT文件

see more here

存儲文檔時使用不同的方法