400 028 6601

建站动态

根据您的个性需求进行定制 先人一步 抢占小程序红利时代

MongoDB复制集搭建&主服务器模拟切换-创新互联

前言

让客户满意是我们工作的目标,不断超越客户的期望值来自于我们对这个行业的热爱。我们立志把好的技术通过有效、简单的方式提供给客户,将通过不懈努力成为客户在信息化领域值得信任、有价值的长期合作伙伴,公司提供的服务项目有:空间域名、网络空间、营销软件、网站建设、彭阳网站维护、网站推广。

Mongodb复制集由一组Mongod实例(进程)组成,包含一个Primary节点和多个Secondary节点,Mongodb Driver(客户端)的所有数据都写入Primary,Secondary从Primary同步写入的数据,以保持复制集内所有成员存储相同的数据集,提供数据的高可用。

复制集优势如下

一、实验环境

MongoDB复制结构图:

MongoDB复制集搭建&主服务器模拟切换

二、实验步骤

1.yum安装mongodb-org

2.创建mongodb多实例

3.配置复制集

4.增加和删除节点

5.主服务器模拟切换

三、实验内容

---------------------------------yum安装monggodb-org------------------

vim /etc/yum.repos.d/mongodb.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
 
yum install mongodb-org -y

修改配置文件中的监听地址

vim /etc/mongod.conf
net:
  port: 27017
  bindIp: 0.0.0.0         #监听地址改为监听所有
systemctl start mongod.service

----------------------------------创建mongodb多实例---------------------

创建数据文件路径和日志文件

mkdir -p /data/mongodb/mongodb{2,3,4}
mkdir -p /data/mongodb/logs
touch /data/mongodb/logs/mongodb2.log
touch /data/mongodb/logs/mongodb3.log
touch /data/mongodb/logs/mongodb4.log
chmod 777 /data/mongodb/logs/*.log

修改多实例的配置文件

vim /etc/mongod.conf
replication:
    replSetName: yandada                  #复制集名称在多实例中为同一名称
cp -p /etc/mongod.conf /etc/mongod2.conf
cp -p /etc/mongod.conf /etc/mongod3.conf
cp -p /etc/mongod.conf /etc/mongod4.conf
vim /etc/mongod2.conf

MongoDB复制集搭建&主服务器模拟切换

MongoDB复制集搭建&主服务器模拟切换

同理:mongod3.conf & mongod4.conf 如上所示进行修改

启动服务

mongod -f /etc/mongod.conf --shutdown
mongod -f /etc/mongod.conf
mongod -f /etc/mongod2.conf
mongod -f /etc/mongod3.conf
mongod -f /etc/mongod4.conf

MongoDB复制集搭建&主服务器模拟切换

------------------------------------------配置复制集-------------------------

[root@yandada3 mongodb2]#mongo
>cfg={"_id":"yandada","members": [{"_id":0,"host":"192.168.218.149:27017"},{"_id":1,"host":"192.168.218.149:27018"},{"_id":2,"host":"192.168.218.149:27019"}]}
>rs.initiate(cfg)        #初始化数据库
yandada:PRIMARY> rs.status()  #查看复制集状态

注:

初始化数据库前数据库中若存在内容则会丢失

-------------------------------------增加和删除节点--------------------------

yandada:PRIMARY>rs.add("192.168.218.149:27020")        #增加节点

yandada:PRIMARY>rs.remove("192.168.218.149:27020")          #删除节点

--------------------------------主服务器模拟切换------------------------------

模拟自动切换

mongod -f /etc/mongod.conf –shutdown
mongo --port 27018
rs.status()

"_id" : 1,
            "name" : "192.168.218.149:27018",
            "health" : 1,
            "state" : 1,
            "stateStr" : "PRIMARY",             #27018选举成主服务器

模拟手动切换

yandada:PRIMARY>rs.freeze(30)        30s不参加选举
yandada:PRIMARY>rs.stepdown(60,30)       60s维持从服务器身份,30s进行同步
yandada:SECONDARY>

另外有需要云服务器可以了解下创新互联cdcxhl.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


网站名称:MongoDB复制集搭建&主服务器模拟切换-创新互联
网站链接:http://mbwzsj.com/article/ddspcd.html

其他资讯

让你的专属顾问为你服务