美文网首页
mongodb linux安装和主从复制架构搭建

mongodb linux安装和主从复制架构搭建

作者: 叶情宇 | 来源:发表于2023-09-19 15:22 被阅读0次

    1.去官网下载软件 https://www.mongodb.com/zh-cn
    点击官网导航栏的产品->社区版本

    image.png
    自己选择对应的版本下载

    2.将下载的压缩包上传到你的linux系统中,具体怎么上传,自己想办法
    这里我在/www/server下创建了个mongodb文件夹
    把压缩文件解压到这个文件下
    解压出来就一个bin文件夹,文件夹的内容如下:


    image.png

    3.创建启动配置文件
    我在bin的同级文件夹下创建一个master和salve两个文件夹,用于放置跟配置相关的内容,之所以创建两个,是因为我后面要做主从复制架构搭建
    在master文件夹下创建如下目录:


    image.png
    ## content
    systemLog:
      destination: file
      logAppend: true
      path: /www/server/mongodb/master/log/config.log
     
    # Where and how to store data.
    storage:
      dbPath: /www/server/mongodb/master/data
      directoryPerDB: true
    
      journal:
        enabled: true
    # how the process runs
    processManagement:
      fork: true
      pidFilePath: /www/server/mongodb/master/log/configsvr.pid
     
    # network interfaces
    net:
      port: 27017
      bindIp: 127.0.0.1
     
    #operationProfiling:
    replication:
        replSetName: rs0   
    security:
      authorization: disabled
      javascriptEnabled: false
    
    #sharding:
    #    clusterRole: shardsvr
    

    其中data是用来存储数据的,数据库的内容都存储到这里
    log是用来存储日志的
    slave这里 不在介绍了,除了运行端口不一样,其他与master都一样

    3.启动
    为了方便,每次启动的时候能够自启动,创建一个启动脚本 mongodb.sh

    #!/bin/bash
    # chkconfig: - 85 15
    #author:zuoping
    name=mongod
    path_bin=/www/server/mongodb/bin/
    path=/www/server/mongodb/
    
    
    case "$1" in
      start)
        ${path_bin}${name} -f ${path}master/config.conf
        ${path_bin}${name} -f ${path}slave/config.conf
    
        if [ $? -eq 0 ];then
          echo "${name}启动成功..."
        else
          echo "${name}启动失败..."
        fi
      ;;
      stop)
        if [ $(ps -ef|grep "mongod" |grep "fork"|awk {'print $2'}) -gt 0 ];then
          kill `ps -ef|grep "mongod" |grep "fork"|awk {'print $2'}`
          if [ $? -eq 0 ];then
            echo "${name}停止成功"
          else
            echo "${name}停止失败"
          fi
        else
          echo "${name}进程已经停止"
        fi
      ;;
      restart)
        if [ $(ps -ef|grep "mongod" |grep "fork"|awk {'print $2'}) -gt 0 ];then
          kill `ps -ef|grep "mongod" |grep "fork"|awk {'print $2'}`
          if [ $? -eq 0 ];then
            echo "${name}停止成功"
          else
            echo "${name}停止失败"
          fi
        else
          echo "${name}进程已经停止"
        fi
        echo "${name}启动中..."
        sleep 3s
        ${path_bin}${name} -f ${path}master/config.conf
        ${path_bin}${name} -f ${path}slave/config.conf
        if [ $? -eq 0 ];then
          echo "${name}重启成功"
        else
          echo "${name}重启失败"
        fi
       ;;
       *)
        echo "${name}start|stop|restart"
       ;;
    esac
    
    

    将 MongoDB 启动脚本移动到 /etc/init.d 目录中:
    添加可执行权限:
    sudo chmod +x /etc/init.d/mongodb.sh

    使用 systemctl 命令将 MongoDB 启动脚本添加到开机自启动中
    sudo systemctl enable mongodb.sh start

    为了便于在任意地方能使用到mongo命令,我们需要添加到全局PATH,创建一个软连接
    sudo ln -s /www/server/mongodb/bin/ /usr/local/bin/

    4.启动
    直接运行命令 sh mongodb.sh start就能启动成功

    5.创建主从复制架构
    我这里把27017当主,27018当从
    执行 mongo -port 27017 登录到27017

    在主节点上执行以下命令完成初始化:
    命令:rs.initiate()

    查看当前节点的状态:
    命令:rs.status()
    添加从节点,想添加多个,就多执行下面的指令,IP地址和端口要正确
    rs.add('127.0.0.1:27018')

    设置主从同步,登录到从节点 执行 mongo -port 27018 登录到27018
    rs.secondaryOk()

    到此完毕!!!

    相关文章

      网友评论

          本文标题:mongodb linux安装和主从复制架构搭建

          本文链接:https://www.haomeiwen.com/subject/qhnlpdtx.html