您好,登錄后才能下訂單哦!
1)3.2.12版本準備好
2)升級過程中,保證client不會修改集合元數據。例如:不能執行下列操作:
sh.enableSharding()
sh.shardCollection()
sh.addShard()
db.createCollection()
db.collection.drop()
db.dropDatabase()
any operation that creates a database
any other operation that modifies the cluster metadata in any way.
3)關閉balancer
4)備份config數據庫
mongos> db.setBalancerState(false);
升級其中一個Secondary成員
關閉mongod實例,3.0命令替換成3.2
重啟該成員。等待該成員集群中的狀態為SECONDARY后,再升級第二個Secondary
Step Down主節點。
當rs.status()顯示主節點已經是分片的其他成員,開始升級stepped-down的主節點(此時,只是role是Secondary)
關閉mongod實例,3.0命令替換成3.2
重啟
升級config server是有順序的。如果啟動mongos指定的config server順序如下
//mongod_config.conf sharding: configDB: db-test01:20001,db-test02:20001,db-test03:20001
那么,升級的順序為:db-test03 → db-test02 → db-test01
關閉db-test03 config server,并且3.0命令替換成3.2
啟動3.2版本的config server,指定configsvr和port
使用命令行啟動
mongod --configsvr --port 20001 --dbpath /data/mongodb/config
使用配置文件啟動
sharding: clusterRole: configsvr net: port: 20001 storage: dbpath: /data/mongodb/config
依次重復啟動其他configDB:db-test02、db-test01
無序的。替換3.2版本的mongos,重啟(一個一個mongos做替換)
關閉mongos時,程序會有報錯。因為mongos關閉,當前連接會斷掉,之后程序嘗試連接關閉的mongos連不上會連接其他mongos(如有多個mongos節點且程序配置訪問多個mongos),不影響業務。
mongos> db.setBalancerState(true);
升級過程中,使用腳本每秒向數據庫寫一條數據。觀察數據寫入情況
//報錯信息 WriteResult({ "nInserted" : 0, "writeError" : { "code" : 94, "errmsg" : "Request contains sharding metadata, but the server has not been made sharding aware." } })
可能原因:stepDown未切換到其他節點,就將節點關閉了。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。