zoukankan      html  css  js  c++  java
  • MongoDB的部署 && 主从搭建

    MongoDB的搭建

    环境准备:

    1.MongoDB版本4.0

    https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-4.0.4.tgz

    2.操作系统:centos7 

    3.主从部署:

    主:192.168.177.139

    从:192.168.177.140

    开始前把防火墙关闭

    主:

    [root@192 ~]# cd /usr/local/src/
    [root@192 src]# ll
    总用量 69764
    -rw-r--r--. 1 root root 71435492 8月 4 20:25 mongodb-linux-x86_64-4.0.4.tgz
    [root@192 src]# tar zxf mongodb-linux-x86_64-4.0.4.tgz
    [root@192 src]# mkdir /usr/local/mongodb
    [root@192 src]# mv mongodb-linux-x86_64-4.0.4/* /usr/local/mongodb/
    [root@192 src]# vim /etc/profile               #末尾追加

    PATH=/usr/local/mongodb/bin:$PATH

    export PATH

    [root@192 src]# source /etc/profile          #保存文件并且生效

    [root@localhost src]# mkdir -p /data/db   #创建数据库存储目录

    启动MongoDB方法:

    一: [root@192 src]# mongod
    二: [root@192 src]# mongod --dbpath /data/db   #--dbpath 指定数据存储目录

    登录MongoDB的数据库:

    [root@192 ~]# mongo
    查看数据库:
    
    > show dbs
    admin 0.000GB
    config 0.000GB
    local 0.000GB
    > show databases; admin 0.000GB config 0.000GB local 0.000GB 切换到指定的数据库,这并不是真正的创建,而是只有当数据插入进去的时候才会真正创建 > use test switched to db test 创建数据表 > db.createCollection("t1") { "ok" : 1 }

    查看数据表 > show tables; t1 > show collections t1 数据表中插入数据 > db.t1.insert({"name":"wendi","age":"21"}) WriteResult({ "nInserted" : 1 }) 查看数据 > db.t1.find() { "_id" : ObjectId("5f2959d75cc3d19eae9d77db"), "name" : "wendi", "age" : "21" }

    从节点重复以上步骤

    主从配置,一定要做时间同步哦

    [root@192 mongodb]# ntpdate pool.ntp.org
     4 Aug 21:01:37 ntpdate[12316]: adjust time server 108.59.2.24 offset -0.384332 sec
    [root@192 mongodb]# date
    2020年 08月 04日 星期二 21:01:42 CST
    

    Mongos主服务其上搭建配置  

    [root@192 ~]# cd /usr/local/mongodb/
    [root@192 mongodb]# touch mongodb.conf
    [root@192 mongodb]# vim mongodb.conf 
    创建日志存放目录 [root@192 mongodb]# mkdir /usr/local/mongodb/logs/
    创建数据存放目录 [root@192 mongodb]# mkdir /usr/local/mongodb/data [root@192 mongodb]# cat mongodb.conf logpath=/usr/local/mongodb/logs/mongod.log #日志路径 logappend=true #是否做日志追加 fork=true #后台启动 port=27017 #端口 dbpath=/usr/local/mongodb/data #数据目录 pidfilepath=/usr/local/mongodb/mongod.pid #pid文件 oplogSize=4096 #oplog的大小 maxConns=640000 #最大同时连接数 directoryperdb=true #设置每个数据库将被保存在一个单独的目录 bind_ip=0.0.0.0 #监听端口 replSet=rs0
    [root@192 mongodb]# mongod -f mongodb.conf  #开启服务配置

     从也做一样的步骤 

    主上登入MongoDB的客户端:

    [root@192 ~]# mongo

    > rs.status()
    {
    "operationTime" : Timestamp(0, 0),
    "ok" : 0,
    "errmsg" : "no replset config has been received",
    "code" : 94,
    "codeName" : "NotYetInitialized",
    "$clusterTime" : {
    "clusterTime" : Timestamp(0, 0),
    "signature" : {
    "hash" : BinData(0,"AAAAAAAAAAAAAAAAAAAAAAAAAAA="),
    "keyId" : NumberLong(0)
    }
    }
    }
    

      

    #定义主从节点和副本集信息

    > var cfg={_id:'rs0',members:[{_id:0,host:'192.168.177.139:27017'},{_id:1,host:'192.168.177.140:27017'}]}
    > rs.initiate(cfg)
    {
    "ok" : 1,
    "operationTime" : Timestamp(1596547821, 1),
    "$clusterTime" : {
    "clusterTime" : Timestamp(1596547821, 1),
    "signature" : {
    "hash" : BinData(0,"AAAAAAAAAAAAAAAAAAAAAAAAAAA="),
    "keyId" : NumberLong(0)
    }
    }
    }  

     主从校验检测:

     从上面一般会没有权限读写,所以要进行修改:db.getMongo().setSlaveOk() 

    主:

     从:

  • 相关阅读:
    中文知识图谱-基于规则的关系抽取-领域词抽取
    数据挖掘trick 特征编码
    何构建强大的baseline?万能的4种标注框架供你选择!
    工业界如何解决NER问题?12个trick,与你分享~
    开源的模式匹配工具-基于AC自动机的pyahocorasick、Acora、esmre
    Pooling 选择的策略
    自然语言处理-条件随机场CRF全链路解读
    python DES 加密
    怎么解决 ? null, message from server: "Host '***.***.***.***' is blocked because of many connection errors; unblock with 'mysqladmin flush-hosts'"
    Flutter混合开发 怎么开启热更新?
  • 原文地址:https://www.cnblogs.com/wendyluo/p/13436116.html
Copyright © 2011-2022 走看看