麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 數據庫 > MongoDB > 正文

mongodb3.4集群搭建實戰之高可用的分片+副本集

2020-10-29 18:45:38
字體:
來源:轉載
供稿:網友

前言

最近因為工作的原因,在學習使用mongodb數據庫,mongodb是最常用的nodql數據庫,在數據庫排名中已經上升到了前六。這篇文章介紹如何搭建高可用的mongodb(分片+副本)集群,分享出來供大家參考學習,下面話不多說了,來一起看看詳細的介紹:

在搭建集群之前,需要首先了解幾個概念:路由,分片、副本集、配置服務器等。

相關概念

先來看一張圖:

從圖中可以看到有四個組件:mongos、config server、shard、replica set。

mongos,數據庫集群請求的入口,所有的請求都通過mongos進行協調,不需要在應用程序添加一個路由選擇器,mongos自己就是一個請求分發中心,它負責把對應的數據請求請求轉發到對應的shard服務器上。在生產環境通常有多mongos作為請求的入口,防止其中一個掛掉所有的mongodb請求都沒有辦法操作。

config server,顧名思義為配置服務器,存儲所有數據庫元信息(路由、分片)的配置。mongos本身沒有物理存儲分片服務器和數據路由信息,只是緩存在內存里,配置服務器則實際存儲這些數據。mongos第一次啟動或者關掉重啟就會從 config server 加載配置信息,以后如果配置服務器信息變化會通知到所有的 mongos 更新自己的狀態,這樣 mongos 就能繼續準確路由。在生產環境通常有多個 config server 配置服務器,因為它存儲了分片路由的元數據,防止數據丟失!

shard,分片(sharding)是指將數據庫拆分,將其分散在不同的機器上的過程。將數據分散到不同的機器上,不需要功能強大的服務器就可以存儲更多的數據和處理更大的負載。基本思想就是將集合切成小塊,這些塊分散到若干片里,每個片只負責總數據的一部分,最后通過一個均衡器來對各個分片進行均衡(數據遷移)。

replica set,中文翻譯副本集,其實就是shard的備份,防止shard掛掉之后數據丟失。復制提供了數據的冗余備份,并在多個服務器上存儲數據副本,提高了數據的可用性, 并可以保證數據的安全性。

仲裁者(Arbiter),是復制集中的一個MongoDB實例,它并不保存數據。仲裁節點使用最小的資源并且不要求硬件設備,不能將Arbiter部署在同一個數據集節點中,可以部署在其他應用服務器或者監視服務器中,也可部署在單獨的虛擬機中。為了確保復制集中有奇數的投票成員(包括primary),需要添加仲裁節點做為投票,否則primary不能運行時不會自動切換primary。

簡單了解之后,我們可以這樣總結一下,應用請求mongos來操作mongodb的增刪改查,配置服務器存儲數據庫元信息,并且和mongos做同步,數據最終存入在shard(分片)上,為了防止數據丟失同步在副本集中存儲了一份,仲裁在數據存儲到分片的時候決定存儲到哪個節點。

環境準備

  • 系統系統 centos6.5
  • 三臺服務器:192.168.0.75/84/86
  • 安裝包: mongodb-linux-x86_64-3.4.6.tgz

服務器規劃

服務器75 服務器84 服務器86
mongos mongos mongos
config server config server config server
shard server1 主節點 shard server1 副節點 shard server1 仲裁
shard server2 仲裁 shard server2 主節點 shard server2 副節點
shard server3 副節點 shard server3 仲裁 shard server3 主節點

端口分配:

mongos:20000config:21000shard1:27001shard2:27002shard3:27003

集群搭建

1、安裝mongodb

#解壓tar -xzvf mongodb-linux-x86_64-3.4.6.tgz -C /usr/local/#改名mv mongodb-linux-x86_64-3.4.6 mongodb

分別在每臺機器建立conf、mongos、config、shard1、shard2、shard3六個目錄,因為mongos不存儲數據,只需要建立日志文件目錄即可。

mkdir -p /usr/local/mongodb/confmkdir -p /usr/local/mongodb/mongos/logmkdir -p /usr/local/mongodb/config/datamkdir -p /usr/local/mongodb/config/logmkdir -p /usr/local/mongodb/shard1/datamkdir -p /usr/local/mongodb/shard1/logmkdir -p /usr/local/mongodb/shard2/datamkdir -p /usr/local/mongodb/shard2/logmkdir -p /usr/local/mongodb/shard3/datamkdir -p /usr/local/mongodb/shard3/log

配置環境變量

vim /etc/profile# 內容export MONGODB_HOME=/usr/local/mongodbexport PATH=$MONGODB_HOME/bin:$PATH# 使立即生效source /etc/profile

2、config server配置服務器

mongodb3.4以后要求配置服務器也創建副本集,不然集群搭建不成功。

添加配置文件

vi /usr/local/mongodb/conf/config.conf## 配置文件內容pidfilepath = /usr/local/mongodb/config/log/configsrv.piddbpath = /usr/local/mongodb/config/datalogpath = /usr/local/mongodb/config/log/congigsrv.loglogappend = true bind_ip = 0.0.0.0port = 21000fork = true #declare this is a config db of a cluster;configsvr = true#副本集名稱replSet=configs #設置最大連接數maxConns=20000

啟動三臺服務器的config server

mongod -f /usr/local/mongodb/conf/config.conf

登錄任意一臺配置服務器,初始化配置副本集

#連接mongo --port 21000#config變量config = {... _id : "configs",... members : [...  {_id : 0, host : "192.168.0.75:21000" },...  {_id : 1, host : "192.168.0.84:21000" },...  {_id : 2, host : "192.168.0.86:21000" }... ]... }#初始化副本集rs.initiate(config)

其中,”_id” : “configs”應與配置文件中配置的 replicaction.replSetName 一致,”members” 中的 “host” 為三個節點的 ip 和 port

3、配置分片副本集(三臺機器)

設置第一個分片副本集

配置文件

vi /usr/local/mongodb/conf/shard1.conf#配置文件內容#――――――――――――――

主站蜘蛛池模板:
姑娘第四集免费看视频
|
久久免费视频一区二区三区
|
亚洲成人国产综合
|
麻豆视频在线播放
|
免费日本一区二区
|
欧美乱码精品一区
|
日本s级毛片免费观看
|
性欧美日本
|
免费香蕉成视频成人网
|
舌头伸进添的我好爽高潮网站
|
久久99精品久久久久久秒播放器
|
久久大陆
|
亚洲啊v在线观看
|
成人在线视频免费播放
|
pornoⅹxxxxhd麻豆
|
中文国产在线视频
|
天天天干夜夜夜操
|
国产羞羞视频在线免费观看
|
日韩午夜一区二区三区
|
国产成人精品区
|
久久国产一二区
|
国产一国产一级毛片视频
|
亚洲片在线观看
|
亚洲精品wwww
|
亚洲电影在线播放
|
国产精品区一区二区三区
|
激情夜色
|
夜夜夜操操操
|
国产91精品欧美
|
成人毛片网
|
国产精品成人av片免费看最爱
|
欧美视频在线一区二区三区
|
美国一级免费视频
|
fc2国产成人免费视频
|
日韩av日韩
|
亚洲欧美天堂
|
欧美一级黄色片在线观看
|
在线小视频国产
|
久久影院一区二区三区
|
五月天影院,久久综合,
|
日本大片在线播放
|