2016-07-20 15 views
0

我正在使用Mongo Java異步驅動程序v3.2使用以下測試。我可以看到調用了回調(在Mongo集合中使用insertOne調用註冊的回調)。我可以看到測試客戶端能夠連接到mongos進程(最後附有日誌)。我在Mongo中沒有看到任何文件。我啓用了用於分片的數據庫集合,並且我也可以從mongos進程運行分片狀態命令。有關我在設置中可能配置錯誤的任何想法?將文件插入mongo分片

 CountDownLatch latch = new CountDownLatch(1); 
     SingleResultCallback<Void> callbackWhenFinished = new SingleResultCallback<Void>() { 
      @Override 
      public void onResult(final Void result, final Throwable t) { 
       System.out.println("Operation Finished!"); 
       latch.countDown(); 
      } 
     }; 
final Document doc = new Document("name", "MongoDB") 
       .append("type", "database") 
       .append("count", 1) 
       .append("info", new Document("x", 203).append("y", 102)); 
     collection.insertOne(doc, callbackWhenFinished); 
     latch.await(); 

蒙戈日誌:

this host as shard shard0002, but shard name was previously initialized as shard0001" } } 
2016-07-20T12:02:52.682-0400 I NETWORK [mongosMain] connection accepted from 127.0.0.1:44633 #42 (1 connection now open) 
2016-07-20T12:02:52.715-0400 I NETWORK [mongosMain] connection accepted from 127.0.0.1:44635 #43 (2 connections now open) 
2016-07-20T12:02:52.750-0400 I NETWORK [conn42] end connection 127.0.0.1:44633 (1 connection now open) 
2016-07-20T12:02:52.750-0400 I NETWORK [conn43] end connection 127.0.0.1:44635 (0 connections now open) 
2016-07-20T12:02:57.279-0400 I SHARDING [Balancer] caught exception while doing balance: remote client 127.0.0.1:40696 tried to initialize this host as shard shard0002, but shard name was previously initialized as shard0001 
2016-07-20T12:02:57.279-0400 I SHARDING [Balancer] about to log metadata event into actionlog: { _id: "ali-HP-ENVY-m7-Notebook-2016-07-20T12:02:57.279-0400-578fa0b154165752fe990d83", server: "ali-HP-ENVY-m7-Notebook", clientAddr: "", time: new Date(1469030577279), what: "balancer.round", ns: "", details: { executionTimeMillis: 5, errorOccured: true, errmsg: "remote client 127.0.0.1:40696 tried to initialize this host as shard shard0002, but shard name was previously initialized as shard0001" } } 
2016-07-20T12:03:07.334-0400 I SHARDING [Balancer] caught exception while doing balance: remote client 127.0.0.1:40704 tried to initialize this host as shard shard0002, but shard name was previously initialized as shard0001 
2016-07-20T12:03:07.335-0400 I SHARDING [Balancer] about to log metadata event into actionlog: { _id: "ali-HP-ENVY-m7-Notebook-2016-07-20T12:03:07.335-0400-578fa0bb54165752fe990d84", server: "ali-HP-ENVY-m7-Notebook", clientAddr: "", time: new Date(1469030587335), what: "balancer.round", ns: "", details: { executionTimeMillis: 3, errorOccured: true, errmsg: "remote client 127.0.0.1:40704 tried to initialize this host as shard shard0002, but shard name was previously initialized as shard0001" } } 

回答

0

這件事是通過確保蒙戈集羣(查詢路由器,cofig服務器和蒙戈碎片與副本集)解決配置正確。完成此操作後,我可以看到插入被添加到碎片中(並且在達到遷移閾值後添加到多個碎片)。希望它可以幫助其他人