副本集管理操作全过程

文章目录

  • 运行环境准备
  • 主从节点的建立
  • 安装从节点集群
  • 设置集群配置文件

前言

       副本集在实际操作中,存在许多问题,最主要的问题是如何配置路径。在命令提示符里,总是由于没有空格、缺少字符或路径不匹配等小问题导致无法运行出结果。我们在初学阶段,在服务器上安装Mongod实例来尽可能多地保持成员之间的分离,就可以通过一台计算机来模拟副本集。以下为副本集管理操作的四个过程,希望能对大家提供帮助。 


运行环境准备

一、安装MongDB 

   1.此处使用的MongoDB 3.4.4版本(可以降低错误,适合的版本比最新版本更优);

下载地址: https://www.mongodb.com/try

   2.在D盘建立安装路径D:\MongoDB\data,在data下创建db和log子文件夹,分别用于存放数据库文件和日志;

   3.安装过程

       (1)打开MongDB 3.4.4 2008R2Plus SSL(64 bit) Setup安装包,单击next;

副本集管理操作全过程_第1张图片

       (2)选择I accept the terms in the License Agreement;

       (3)先选择Custom再选Browse,选择安装路径为D:\MongoDB\data,单击next;

       (4)单击install,开始安装,最后单击finish完成安装。

   基于此,MongDB安装完成,接下来设置MongDB自启动,一共有两种方法。

二、自启动MongoDB(以管理员身份运行命令提示符

   1.一次性

C:\Windows\system32>cd /d d:\mongodb\data\bin

d:\mongodb\data\bin>mongod -dbpath "d:\mongodb\data\db"

   2.永久性

C:\Windows\system32>cd /d d:\mongodb\data\bin

d:\mongodb\data\bin>mongod --dbpath "d:\mongoDB\db"  --logpath "d:\mongodb\log\MongoDB.log" --install --serviceName "MongoDB"

d:\mongodb\bin>net start MongoDB

   设置后,打开MongoDB,会出现如下界面:

副本集管理操作全过程_第2张图片

主从节点的建立

       在单机环境下,需要建立一个主节点和两个从节点,将MongDB里面的bin文件夹复制到MongoDB1和MongoDB2里面,分别在MongoDB1和MongoDB2里建立db、log文件夹。如下:

副本集管理操作全过程_第3张图片

   1.三个文件夹部署清单

节点 IP地址
主节点 127.0.0.1:27017
存放路径

d:\mongodb\data\db\

d:\mongodb\data\log\mongod.log

从节点 127.0.0.1:27018
存放路径

d:\mongodb1\db\

d:\mongodb1\log\mongod.log

从节点 127.0.0.1:27019
存放路径

d:\mongodb2\db\

d:\mongodb2\log\mongod.log

   2.配置mongod.yaml

       (1)将mongod.yaml置于三个文件夹的bin文件夹下,以下为MongDB的mongod.yaml文件。

systemLog:  
    quiet: false  
    path: /MongoDB/data/log/mongod.log    #修改的地方,注意每个同学不一样
    logAppend: false  
    destination: file   
#processManagement:  
    #fork: true  #修改的地方 #是守护进程在后台运行。
    #pidFilePath: /mongodb/mongod.pid #修改的地方 #指定进程的ID,与--fork配合使用,不指定则不会创建。
net:  
    bindIp: 127.0.0.1  
    port: 27017  
    maxIncomingConnections: 65536  
    wireObjectCheck: true  
    ipv6: false   
storage:  
    dbPath: /MongoDB/data/db     #修改的地方
    indexBuildRetry: true  
    journal:  
        enabled: true  
        commitIntervalMs: 100 #修改的地方
    directoryPerDB: false  
    engine: mmapv1  
    syncPeriodSecs: 60   
    mmapv1:  
        quota:  
            enforced: false  
            maxFilesPerDB: 8  
        smallFiles: true      
      #  journal:  
      #      commitIntervalMs: 100  #修改的地方
    wiredTiger:  
        engineConfig:  
            cacheSizeGB: 8  
            journalCompressor: snappy  
            directoryForIndexes: false    
        collectionConfig:  
            blockCompressor: snappy  
        indexConfig:  
            prefixCompression: true  
operationProfiling:  
    slowOpThresholdMs: 100  
    mode: off  
replication:  #放开注释
    oplogSizeMB: 10240  
    replSetName: rs0  
    secondaryIndexPrefetch: all  
#sharding:  
#    clusterRole: shardsvr  
#    archiveMovedChunks: true 

       (2)MongoDB1和MongoDB2的mongod.yaml与MongoDB类似,可直接复制,但需要修改路径(用Notepad3打开mongod.yaml并修改,可在官网自行安装),修改成如下所示:

副本集管理操作全过程_第4张图片

副本集管理操作全过程_第5张图片

       (3)启用mongod.yaml文件

mongod -config mongod.yaml                    //mongod.yaml一定要在bin文件路径下

安装从节点集群

   1.关闭服务

d:\mongodb\data\bin>NET stop MongoDB            //若无运行实例,无需执行该命令

   2.MongoDB(以管理员身份运行命令提示符

C:\Windows\system32>cd /d D:\MongoDB\data\bin

D:\MongoDB\data\bin>mongod --port 27017 -dbpath "D:\MongoDB\data\db" -logpath "D:\MongoDB\data\log\MongoDB.log" -replSet rs0

   结果:

副本集管理操作全过程_第6张图片   3.MongoDB1(以管理员身份运行命令提示符

C:\Windows\system32>cd /d D:\MongoDB1\bin

D:\MongoDB1\bin>mongod --port 27018 -dbpath "D:\MongoDB1\db" -logpath "D:\MongoDB1\log\MongoDB.log" -replSet rs0

   结果:

副本集管理操作全过程_第7张图片

   4.MongoDB2(以管理员身份运行命令提示符

C:\Windows\system32>cd /d D:\MongoDB2\bin

D:\MongoDB2\bin>mongod --port 27019 -dbpath "D:\MongoDB2\db" -logpath "D:\MongoDB2\log\MongoDB.log" -replSet rs0

   结果:

副本集管理操作全过程_第8张图片

       注意:到此为止,节点集群配置完毕,在三个命令提示符打开的情况下,就可以开始下一步了。不过由于每个人的路径防止可能不同,所以在写法上也会有细小差别。以我的MongoDB路径为例,我的路径存放位置如下:

       所以我的写法为:

副本集管理操作全过程_第9张图片       以此类推可以得到MongoDB1和MongoDB2的安装路径,这一步非常重要,如果出错,后续内容将无法进行。所以应该看清楚自己的路径,不可盲目复制。

 设置集群配置文件

   打开MongoDB,依次输入以下内容:

use admin

   结果:

  

 config = {  _id:"rs0" , members: [             

{ _id:0,host:"localhost:27017","priority":3},             

{ _id:1,host:"localhost:27018","priority":2},             

{ _id:2,host:"localhost:27019","priority":1}             

]       

}

   结果:

副本集管理操作全过程_第10张图片

rs.initiate(config)

   结果:

  

rs.status() 

   结果:

副本集管理操作全过程_第11张图片


       到此为止,副本集管理操作的全部过程演示完毕。总结一点就是一定要细心,路径配置是最麻烦的,如果出错,会得不到结果..... 再一个就是命令提示符,需要以管理员身份运行。由于本人也是初次接触,所以以上内容均为个人学习经验,希望能对你有所帮助。

你可能感兴趣的:(NoSQL,nosql)