2016-06-09 45 views
0

我在計算機1上使用MongoDB創建了一個數據庫。 我試圖從計算機2加載這個數據庫。 您能否幫我做到這一點?Mongodb:在兩臺電腦之間共享數據庫

我試圖在共享磁盤F:\中設置--dbpath(data \ db),但計算機2無法識別數據。

+0

這裏涉及的變量太多了。訪問,Mongo版本等您可以將完整的數據複製到第二臺計算機,並在那裏先嚐試?如果它有效,那麼我們可以肯定這與配置文件等有關,而不是數據問題。 – Abhinav

+0

您是否只需要計算機1的數據,或者是否要複製整個mongod config/dbs? – necromos

+0

我試圖做到這一點,計算機2無法讀取數據庫,因爲它已由其他主機創建。 MongoDB的版本都是3.2 @Abhinav –

回答

0

您可以從任何其他節點訪問蒙戈集羣,對於你需要知道在其上的配置,服務器節點(計算機)上運行的端口1 的配置服務器可以使用下面的命令來啓動。理想情況下,應該有3個配置服務器在系統上運行,因此,我正在更新考慮這些問題的步驟。

<path-to-mongo>/bin/mongod --configsvr --port <port-1> --dbpath ./shardedcluster/cfg0 --fork

<path-to-mongo>/bin/mongod --configsvr --port <port-2> --dbpath ./shardedcluster/cfg1 --fork

<path-to-mongo>/bin/mongod --configsvr --port <port-3> --dbpath ./shardedcluster/cfg2 --fork

問題:沒有發現碎片。早些時候,我認爲沒有必要設置這種系統的碎片。但是,要解決此問題,可以創建一個分片服務器,並按如下方式進行初始化。

<path-to-mongo>/bin/mongod --shardsvr --replSet a --dbpath ./shardedcluster/a0 --port <shard-port> --fork --smallfiles --oplogSize 50

要初始化碎片,請按照下列步驟。

<path-to-mongo>/bin/mongo --port <shard-port>

然後運行命令 rs.initiate()

假設計算機2您已經複製了MongoDB的可執行文件。計算機2

運行以下命令<path-to-mongodb>/bin/mongos --configdb <C1-IP>:<port-1>,<C1-IP>:<port-2>,<C1-IP>:<port-3> --port 27017

然後(在計算機2)運行,

<path-to-mongodb>/bin/mongo --port 27017

27017是默認的端口,我使用該選項只是冗長。

注1如果碎片初始化錯誤仍然存​​在 運行在mongos外殼下面的命令,

sh.addShard("a/<C1-IP>:<Shard-port>")

注2請確保該目錄shardedcluster/CFG0,shardedcluster/CFG1,shardedcluster/cfg2,shardedcluster/a存在並具有適當的寫入權限。

要獲得更多的細節,請按照下面的鏈接。 http://www.mongodbspain.com/en/2015/01/26/how-to-set-up-a-mongodb-sharded-cluster/

我只給你你需要的命令。

+0

感謝您的回答 只是爲了確保,我應該在兩者之間創建一個服務器還是有一個選項創建一個mongodb服務器? –

+0

計算機1上的配置服務器的單個實例應該沒問題。爲此目的使用以下命令。 'mongod --configsvr --port --dbpath --fork' – Jayant

+0

謝謝。 在計算機1中,我運行:'Mongod --configsvr --port 51213'。 在計算機2中,我運行:'Mongos --configdb 10.2 .... 3:51213 --port 445'。 我得到以下問題:bind()錯誤10013,關機(),無法打開minidumb文件錯誤5. 但是,在我的mongod --configserver上,計算機1檢測到連接並說已結束。 –

0

當您只需要複製數據但不包含任何特定DB /集合的配置時,最簡單的方法是mongodumpmongoimport。請隨時在mongodb文檔中查看它們。

+0

Mongodump和mongoimport使數據庫的副本。我需要爲兩臺計算機都有一個相同的數據庫,並且能夠修改/添加/刪除兩個mongods中的數據。 –

相關問題