標籤:自動 ++ proc var copy host for vpd image
接著上篇接續
在單台伺服器資源充分的情況下,可以使用多執行個體,以便充分使用伺服器資源
由於我在虛擬機器中做的所以恢複了快照開啟服務systemctl start mongod.servicenetstat -ntap>show dbs //查看資料庫admin 0.000GBlocal 0.000GBconfig 0.000GB>use school //進入school 雖然但是有集合了後會自動建立> for(var i=1;i<=100;i++)db.users.insert({"id":i,"name":"jack"+i}) //先建立100個玩玩> show dbsadmin 0.000GBconfig 0.000GBlocal 0.000GBschool 0.000GB //就會自動建立> show collections //查看集合users> show tables //也是查看集合users> db.users.find() //查看集合內容{ "_id" : ObjectId("5b49ab2a0bd68f9074b77bb4"), "id" : 1, "name" : "jack1" }此處省略··········db.copyDatabase("school","sheare") //把school 複製成shearer //內容一樣> show dbsadmin 0.000GBconfig 0.000GBlocal 0.000GBschool 0.000GBsheare 0.000GB複製對方的集合建立多執行個體mkdir -p /data/mongodb/mongodb2 //建立資料目錄cd /data/mongodb/ mkdir logstouch logs/mongodb2.log //建立記錄檔cd logs/chmod 777 *.log //賦予許可權和前面一樣
複製資料
進入到 mongo --port 27018> show dbs //此時完全是獨立的資料admin 0.000GBconfig 0.000GBlocal 0.000GB建立多執行個體-----------vim mongod2.confsystemLog:省略···path: /data/mongodb/logs/mongodb2.log //手動添加記錄檔路徑省略····storage: dbPath: /data/mongodb/mongodb2 //定義資料檔案目錄net: port: 27018 //修改連接埠號碼mongod -f /etc/mongod2.conf //開啟多執行個體2netstat -ntap | grep 27018tcp 0 0 0.0.0.0:27018 0.0.0.0:* LISTEN 9870/mongod > db.runCommand({"cloneCollection":"school.user","from":"192.168.100.20.27017"}) //複製 school(資料庫中的)uesr(集合)的資料。來自192.168.100.20 27017 裡面的資料--------------進程管理-----------> db.currentOp() //當前進程省略·····"currentOpTime" : "2018-07-14T23:01:50.596+0800", "opid" : 2206, //進程編號> db.killOp(2206) //結束進程 但是不會退出資料庫釋放到當前進程
複製集
mkdir -p /data/mongodb/mongodb{2,3,4} //同時建立多個檔案資料存放目錄mkdir -p /data/mongodb/logs //為其建立資料記錄檔touch /data/mongodb/logs/mongodb{2,3,4}.log //同時建立多個資料記錄檔chmod 777 /data/mongodb/logs/*.log //開放許可權vim /etc/mongod.conf //修改設定檔開啟使用者replication: //開啟使用者 replSetName: abc mongod -f /etc/mongod.conf --shutdown //關閉服務 //正對於莫一個執行個體 在有多執行個體的情況下 mongod -f /etc/mongod.conf //開啟服務 cp -p /etc/mongod.conf /etc/mongod2.conf //建立多連接埠實現複製集 mongod -f /etc/mongod4.conf //挨個開啟執行個體 netstat -nata //查看有沒有開啟 若有錯則檢查設定檔日誌存放路徑以及資料出存放路徑 mongo --port 27018 //挨個測試一下是否能近入 mongo //進入預設 27017 定義複製集
複製集配置
cfg={"_id":"abc","members":[{"_id":0,"host":"192.168.10.5:27017"},{"_id":1,"host":"192.168.10.5:27018"},{"_id":2,"host":"192.168.10.5:27019"}]} //定義複製集 節點資料 #初始化配置時保證從節點沒有資料> rs.initiate(cfg) #添加節點abc:PRIMARY> rs.add("192.168.10.5:27020")#刪除節點abc:PRIMARY> rs.remove("192.168.10.5:27019")
------------------容錯移轉切換-----------------------
ps aux | grep mongod //查看當前進程 就有4個#手動切換abc:PRIMARY> rs.freeze(30) //暫停30s不參與選舉abc:PRIMARY> rs.stepDown(60,30) //交出主節點位置,維持從節點狀態不少於60秒,等待30秒使主節點和從節點日誌同步
MongoDB基礎2 之 複製集篇