91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

MongoDB復制集

發布時間:2020-07-11 00:56:49 來源:網絡 閱讀:261 作者:居思涵 欄目:MongoDB數據庫

一、關于 MongoDB復制集

1、什么是復制集
復制集是額外的數據副本,是跨多個服務器同步數據的過程,復制集提供了冗余并增加了數據可用性,通過復制集可以對硬件故障和中斷的服務進行恢復。
復制集的優勢如下:
?讓數據更安全
?搞數據可用性(7 * 24)
?災難恢復
?無停機維護(如備份、索引重建、故障轉移)
?讀縮放(額外的副本讀取)
?副本集對應用程序是透明的
2、復制集的工作原理
MongoDB的復制集至少需要兩個節點。其中一個是主節點(primary),負責處理客戶端的請求,其余的都是從節點(Secondary),負責復制主節點上的數據。
MongoDB各個節點常見的搭配方式為:一主一從或一主多從。主節點記錄其上的所有操作到oplog中,從節點定期輪詢主節點獲取這些操作,然后對自己的數據副本執行這些操作,從而保證從節點的數據與主節點一致。
主從復制結構圖如下:
MongoDB復制集
復制集特點如下:
?N個節點的集群
?任何節點可作為主節點
?所有寫入操作都在主節點上
?自動故障轉移
?自動恢復

二、MongoDB復制集部署

1、配置yum源
vi /etc/yum.repos.d/CentOS-Base.repo //末行增加
[mongodb-org]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/3.6/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-3.6.asc
2、安裝配置mongodb

yum install -y mongodb-org  //安裝
vi /etc/mongod.conf //修改監聽地址和端口

MongoDB復制集
打開復制模塊
MongoDB復制集
3、創建多實列

mkdir -p /data/mongodb/mongodb{2,3,4}   //創建數據目錄
cd /data
mkdir logs  
touch logs/mongodb{2,3,4}.log   //創建日志文件
cd logs/
chmod 777 *.log //賦予權限
cp -p /etc/mongod.conf /etc/mongod2.conf        //復制主配置文件
cp -p /etc/mongod.conf /etc/mongod3.conf
cp -p /etc/mongod.conf /etc/mongod4.conf
vi /etc/mongod2.conf    //依次修改主配置文件(注意文件的名稱不一樣)

MongoDB復制集
MongoDB復制集

mongod -f /etc/mongod.conf     //進入對應的實列
mongod -f /etc/mongod2.conf
mongod -f /etc/mongod3.conf
mongod -f /etc/mongod4.conf

4、配置三個節點的復制集

mongo   //進庫
cfg={"_id":"kgcrs","members":[{"_id":0,"host":"192.168.80.100:27017"},{"_id":1,"host":"192.168.80.100:27018"},{"_id":2,"host":"192.168.80.100:27019"},{"_id":3,"host":"192.168.80.100:27020"}]} //將另外三個節點添加到復制集
rs.initiate(cfg)        //初始化復制集配置
rs.status() //查看復制集的狀態

MongoDB復制集
MongoDB復制集
MongoDB復制集
MongoDB復制集

rs.remove("192.168.80.183:27020")       //刪除節點
rs.add("192.168.80.183:27020")      //添加節點

5、驗證復制集

use test
db.a.insert({"id":1,"name":"jack"})
db.a.find()

去其他節點依次查看驗證

mongo -port 27018
show dbs

MongoDB復制集

三、MongoDB復制切換

1、故障自動切換

mongod -f /etc/mongo.conf --shutdown    //模擬了模擬故障點
mongdo -port 27018  //進入新的主節點
rs.status() //查看復制集狀態

MongoDB復制集
MongoDB復制集
2、手動切換

mongdo -port 27018  //進入主節點
rs.stepDown(60,30)      //交出主節點位置
rs.status() //查看狀態

MongoDB復制集
rs.freeze(30) //暫停30s不參與選舉,必須要有仲裁節點,在下面的復制選舉中驗證

四、MongoDB復制選舉

1、虛擬機還原重復上述安裝mongoDB并添加多實例
2、配置三個復制節點

mongo   //進庫
cfg={"_id":"kgcrs","members":[{"_id":0,"host":"192.168.80.100:27017","priority":100},{"_id":1,"host":"192.168.80.100:27018","priority":100},{"_id":2,"host":"192.168.80.100:27019","priority":0},{"_id":3,"host":"192.168.80.100:27020","arbiterOnly":true}]}       //指定復制節點給的屬性(priority為100:標準節點,priority為0:被動節點,arbiterOnly:仲裁節點)
rs.initiate(cfg)        //初始化配置
rs.isMaster()   //查看個點節點屬性

MongoDB復制集

use local
show collections   //查看集合

MongoDB復制集
db.oplog.rs.find() //查看日志記錄所有操作
3、模擬便準節點故障

mongod -f /etc/mongod.conf --shutdown   //模擬標準節點1故障
mongo --port 27018  //進入第二個準備節點驗證是否被選舉為主節點

MongoDB復制集
MongoDB復制集

mongod -f /etc/mongod2.conf --shutdown      //模擬標準節點2故障
mongo --port 27019  //進入被動節點驗證,此時被動節點不能成為主節點

4、允許從節點讀取數據
在從節點無法查看數據
MongoDB復制集

rs.slaveOk()    //允許從節點讀取數據
show dbs;   //允許默認從節點讀取數據

MongoDB復制集
5、查看復制狀態信息

rs.help()   //查看
rs.printReplicationInfo()       //查看復制集信息

MongoDB復制集
rs.printSlaveReplicationInfo() //查看從節點的狀態
MongoDB復制集
注:其中沒有仲裁節點,說明仲裁節點不具備數據復制能力
6、更改oplog大小

use local
db.oplog.rs.stats() //查看操作復制操作的狀態

MongoDB復制集
方法一:

use admin   //進入管理庫
db.shutdownServer() //關閉注銷復制集相關啟動參數
vi /etc/mongod.conf //修改端口為27028并注釋復制集參數
mongod -f /etc/mongod.conf      //單實例啟動
mongodump --port 27028 --db local --collection 'oplog.rs'   //備份操作日志
mongo --port 27028
> use local
> db.oplog.rs.drop()    //刪除日志文件
> db.runCommand( { create: "oplog.rs", capped: true, size: (2 * 1024 * 1024 * 1024) } ) //重新創建日志文件并且指定大小
> use admin
> db.shutdownServer()   //關閉節點服務

方法二:
vi /etc/mongod.conf //修改端口回27018打開復制集參數指定復制集的大小
MongoDB復制集

mongod -f /etc/mongod.conf      //重新啟動
mongo   //進入實例驗證

MongoDB復制集
7、放棄被選舉產生新的有效選舉

mongo --port  27018 //進入主節點
rs.stepDown()   //放棄選舉權

MongoDB復制集
rs.status() //另外一個標準節點有效選舉為主節點
MongoDB復制集

五、部署認證復制

vi /etc/mongod.conf
vi /etc/mongod2.conf
vi /etc/mongod3.conf
vi /etc/mongod4.conf        //依次打開安全認證模塊

MongoDB復制集

cd /usr/bin/    //進入bin目錄
echo "kgcrs key"> kgcrskey1 //創建認證文件
echo "kgcrs key"> kgcrskey2
echo "kgcrs key"> kgcrskey3
echo "kgcrs key"> kgcrskey4
chmod 600 kgcrskey{1..4}    //更改權限

四個實例依次進行重啟
進入主節點
kgcrs:PRIMARY> show dbs #無法查看數據庫
kgcrs:PRIMARY> rs.status() #無法查看復制集

kgcrs:PRIMARY> use admin #身份登錄驗證
kgcrs:PRIMARY> db.auth("root","123")

kgcrs:PRIMARY> rs.status() #可以查看數據庫
kgcrs:PRIMARY> show dbs #可以查看復制集

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

老河口市| 社旗县| 黄平县| 颍上县| 孝感市| 贞丰县| 通河县| 岚皋县| 炎陵县| 麦盖提县| 博白县| 长海县| 临夏县| 泰安市| 贡山| 新沂市| 瑞金市| 康定县| 博乐市| 瓦房店市| 望谟县| 通江县| 山丹县| 威信县| 安西县| 衡阳县| 兴化市| 潜山县| 隆化县| 高雄市| 连平县| 和平县| 肇州县| 昭通市| 五常市| 陇西县| 仙游县| 南皮县| 东阳市| 丹江口市| 巍山|