美文网首页
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