mongo 使用 copy的方式複製節點

1、切換主節點的腳本如下(把hostname改爲要指定的主機名,登錄主節點執行。): 

use admin

db.auth('root','abc')

cfg = rs.conf()

cfg.members.forEach(function(member) {

    if (member.host == "hostname:27017") {

        member.priority = 2; // 設置指定節點的優先級爲較高值

    }

});

rs.reconfig(cfg);

 

2、鎖定數據庫

db.fsyncLock()

使用 db.currentOp() 查看狀態 ,在最後面三行看到:

     "fsyncLock" : true,

"info" : "use db.fsyncUnlock() to terminate the fsync write/snapshot lock",

"ok" : 1

說明鎖庫成功 

結束後(複製數據文件夾後執行),使用db.fsyncUnlock()解鎖 

 

 

 

3、複製數據文件夾

rsync -P -r 源文件夾 目標文件夾

 

如果是遠程 

rsync --partial --progress -e "ssh -p port" source_file user@destination_host:destination_directory

 

  • --partial:允許部分傳輸文件。如果傳輸中斷,下次運行命令時會繼續傳輸。
  • --progress:顯示傳輸進度。
  • -e "ssh -p port":指定SSH連接的端口號(如果不是默認的22端口)。
  • source_file:源文件的路徑。
  • user@destination_host:destination_directory:目標主機和目錄。

4、解除鎖定 

db.fsyncUnlock()解鎖 

5、加入集羣

1)啓動新的節點

2)集羣的所有/etc/hosts 裏添加新節點的主機名

3)在主節點執行rs.add("hostname:27017")

4)rs.status() 查看集羣,發現新節點已經加入集羣

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章