副本集安裝
1. 解壓下載的壓縮包:
$ tar -zxvf mongodb-linux-x86_64-3.4.17.tgz
下載地址連結:pan.baidu.com/s/1mmcyWpri… 提取碼:onfo
2. 更改資料夾名稱
$ mv mongodb-linux-x86_64-3.4.17.tgz mongodb27107
3. 建立資料庫目錄,配置檔案目錄,日誌目錄
$ mkdir -p mongodb27107/data/db
$ mkdir -p mongodb27107/config
4. 建立mongo.conf配置檔案
$ touch mongo.conf
新增以下配置內容
dbpath= /home/mvtech/mongodb27017/data/db/ #資料存放目錄
logpath=/home/mvtech/mongodb27017/data/mongo.log #日誌檔案目錄
pidfilepath=/home/mvtech/mongodb27017/data/mongo.pid #pid埠檔案
port=27017 #mongodb埠
logappend=true #追加方式寫日誌檔案,預設false,進行覆蓋
fork=true #後臺執行
journal=true #啟用日誌選項,MongoDB的資料操作將會寫入到journal資料夾的檔案裡
oplogSize=2048 #同步操作記錄檔案大小(MB)
smallfiles=true #使用較小的預設檔案
replSet=heatdb #副本集名稱,同一個副本集,名稱必須一致
5. 將mongodb27107整個資料夾複製多份,相當於是多個mongo例項
6. 修改所有複製例項中的mongo.conf檔案,將相關路徑修改為對應的路徑。
7. 啟動mongo例項,進入bin目錄下
$ mongod –f /home/mvtech/mongodb27017/config/mongo.conf
啟動其他mongo例項參考上面的命令,修改路徑
8. 使用mong連線資料庫,進行服務,
$ ./mongo 訪問預設埠27017
$ ./mongo –port 27018 訪問非預設埠
9. 初始化副本集配置
副本整合員配置
cfg = {
_id: "mongoSet", # 副本集名稱 和配置檔案中一致
members: [{
_id: 0,
host: '172.18.247.114: 27018', # 副本整合員 ip:埠
priority: 1 #副本整合員 優先順序
},
{
_id: 1,
host: '172.18.247.113: 27017',
priority: 1
},
{
_id: 2,
host: '172.18.247.113: 27018',
priority: 1
}]
};
初始化配置檔案
rs.initiate(cfg);
10. 查詢副本集狀態
$ rs.status()
11. 進行secondary節點
$ ./mongo –host IP –port 埠號
$ ./mongo –host 172.18.247.114 –port 27018
12. 在secondary節點中執行命令會出現"errmsg" : "not master and slaveOk=false"的提示,這是因為從節點沒有讀許可權,需要執行以下命令
$ rs.slaveOk();
13. 副本集常用操作