MongoDB基礎2 之 複製集篇

來源:互聯網
上載者:User

標籤:自動   ++   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 之 複製集篇

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.