麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 數據庫 > MongoDB > 正文

mongodb 常見問題處理方法收集

2020-10-29 18:47:20
字體:
來源:轉載
供稿:網友

1 非正常關閉服務或關機后 mongod服務無法正常啟動

在使用中發現mongodb 的服務很容易因為非正常關閉而啟動不了,不過解決也很容易
刪除data目錄下的 *.lock文件,再運行下 /mongodb_binpath/mongod -repair -f config文件路徑 再啟動即可
也可以在/etc/init.d/mongod 服務啟動的文件中加入 啟動前刪除該文件 如下:

start() {rm -f /usr/mongodb/data/master/mongod.lock/usr/mongodb/bin/mongod --config /usr/mongodb/config/master.conf}

2、server-side JavaScript execution is disabled

完整信息:JavaScript execution failed: group command failed: { "ok" : 0, "errmsg" : "server-side JavaScript execution is disabled" }
解決方法:mongod.conf 這個配置文件里 noscripting:false 如果true 就是禁止

3、 Decimal轉換成BsonValue值異常

BsonValue 暫不支持 Decimal類型,轉換前強制轉換類型,

if (type==typeof(Decimal)){return Convert.ToDouble(value);}

如果用MongoDB,最好不要用decimal類型,否則在序列化的時候也有問題,可用double

4、MONGO Replica 頻繁插入大數據的問題

MONGO Replica 頻繁插入大數據的問題,當在復制集中頻繁插入大數據時有可能出現 “error RS102 too stale to catch up"出現這個錯誤的原因是SECONDARY即副節點的復制速度跟不上了,當需要批量頻繁向副本集中寫入數據時最好先移除副本節點,待插入完后重新同步。

5 Mongo集群沒有primary但有secondary時連接不上且不能讀數據

#mongodb默認是從主節點讀寫數據的,副本節點上不允許讀,需要設置副本節點可以讀。
shell
1 repset:SECONDARY> db.getMongo().setSlaveOk(); #要在primary上執行
2 rs.slaveOk()
其他客戶端
從secondary 讀數據
如果應用程序沒有設置相應的ReadReference也可能不能進行讀取操作

MongoClientSettings set = new MongoClientSettings();
List<MongoServerAddress> servers = new List<MongoServerAddress>();
servers.Add(new MongoServerAddress("192.168.129.129", 37017));
servers.Add(new MongoServerAddress("192.168.129.129", 37018));
servers.Add(new MongoServerAddress("192.168.129.129", 37019));
set.Servers = servers;

//設置副本集名稱
set.ReplicaSetName = "rs0";
//設置超時時間為3秒
set.ConnectTimeout = new TimeSpan(0, 0, 0, 3, 0);

MongoClient client = new MongoClient(set);
MongoServer server = client.GetServer();
MongoDatabase db = server.GetDatabase("test");
MongoCollection coll = db.GetCollection("test");

注:設置驅動的ReadReference也可以通過MongoDB連接字符串配置:mongodb://example1.com,example2.com,example3.com/?readPreference=secondary。通過連接字符串指定的read preference是針對整個連接。

set.ReadPreference = new ReadPreference(ReadPreferenceMode.PrimaryPreferred);
將ReadPreferenceMode設置成Secondary或SecondaryPreferred

下面是其他網友的補充:

一、
1. addshard 遇到的錯誤 db.runCommand({addshard:”172.16.5.104:20000″}) { “ok” : 0, “errmsg” : “can't use localhost as a shard since all shards need to communicate. either use all shards and configdbs in localhost or all in actual IPs host: 172.16.5.104:20000 isLocalHost:0″ } 遇到這樣的錯誤是由于某些服務啟動在 localhost 地址。 經過檢查發現 route 啟動時,讀取 config 服務是讀取的 localhost 地址: ./mongos

主站蜘蛛池模板: 91在线观看 | 国产精品视频一区二区三区四区五区 | 精品国产一区二区三区久久久 | 成人爱爱电影 | 国产亚洲精品久久久久久久久久 | 国产交换3p国产精品 | 日韩视频在线一区二区三区 | 久久国产精品久久久久久电车 | 意大利av在线 | 色阁五月| 91av久久 | 日韩视频一二三 | 一级在线观看视频 | 久久小视频 | 亚洲综合一区二区三区 | 91成人亚洲 | 亚洲免费永久 | 国产亚洲精品久久午夜玫瑰园 | 免费黄色在线 | 国产三级a三级三级 | 免费一级在线视频 | 久久久成人动漫 | 久久久精品视频国产 | 久久日本 | xnxx 日本免费 | 九一国产精品 | 在线视频观看一区二区 | 免费久久久久 | 麻豆一二区| 日韩一级视频 | av在线播放网址 | 操嫩草 | 日本在线一区二区 | 精品无码久久久久久国产 | 久久精品日韩一区 | 国产一区二区精彩视频 | 91精品国产777在线观看 | 久久免费视频精品 | 国产精品久久久不卡 | 香蕉视频1024 | 最新在线黄色网址 |