Linux部署mongodb主从模式

2,485 阅读2分钟

一起养成写作习惯!这是我参与「掘金日新计划 · 4 月更文挑战」的第22天,点击查看活动详情

部署mongodb主从模式

一、 Mongodb安装使用

官网下载地址: 地址1地址2

这里下载的版本是:mongodb-linux-x86_64-3.6.17.tgz

注意:mongodb4.0版本以后只支持副本集的主从复制,不再支持单独的主从复制

image.png

带认证的主从复制配置教程: blog.csdn.net/perry_h/art…

二、 机器环境

服务名称:Linux服务器1(主节点

IP:192.168.4.11

操作系统:CentOS 6.9 x64

服务名称:Linux服务器2(从节点

IP:192.168.4.22

操作系统:CentOS 6.9 x64

三、主节点配置防火墙

启动27017端口

# vi /etc/sysconfig/iptables

添加以下内容:

-A INPUT -m state --state NEW -m tcp -p tcp --dport 27017 -j ACCEPT

重启防火墙

# service iptables restart

四、从节点配置防火墙

启动27017端口

# vi /etc/sysconfig/iptables

添加以下内容:

-A INPUT -m state --state NEW -m tcp -p tcp --dport 27017 -j ACCEPT

重启防火墙

# service iptables restart

五、主节点 安装mongodb

上传mongodb-linux-x86_64-3.6.17.tgz上传到/opt/tools目录下,然后解压到/opt/app目录下:

# cd /opt/tools

# tar -zxvf mongodb-linux-x86_64-3.6.17.tgz -C /opt/app/

重命名mongodb目录:

# cd /opt/app/

# mv mongodb-linux-x86_64-3.6.17 mongodb

创建数据和日志存储目录:

# cd mongodb

# mkdir data

# mkdir log

添加配置文件:

# vi bin/mongodb.conf

添加以下内容:

port=27017

bind_ip=127.0.0.1,192.168.4.11

dbpath=/opt/app/mongodb/data

logpath=/opt/app/mongodb/log/mongo.log

directoryperdb=true

logappend=true

journal=true

fork=true

noprealloc=true

master=true

注意:以上内容的bind_ip替换为主服务器的IP

参数解释:

port:mongodb进程所使用的端口号,默认为27017

bind_ip:mongodb所绑定的ip地址

dbpath:数据存放目录

logpath:日志存放路径

directoryperdb:为每一个数据库按照数据库名建立文件夹存放

logappend:以追加的方式记录日志

fork:以后台方式运行进程

noprealloc:不预先分配存储

master:确定自己是主服务器

设置mongodb的环境变量:

# vi /etc/profile

在末尾添加以下配置:

#mongodb env

export MONGODB_HOME=/opt/app/mongodb

export PATH=$PATH:$MONGODB_HOME/bin

刷新环境配置:

# source /etc/profile

编写启动脚本:

# vi /etc/init.d/mongodb

添加以下内容:

#!/bin/bash
#
# mongod        Start up the MongoDB server daemon

# source function library

. /etc/rc.d/init.d/functions
#定义命令
CMD=/opt/app/mongodb/bin/mongod
#定义配置文件路径
INITFILE=/opt/app/mongodb/bin/mongodb.conf
start()
{
    #&表示后台启动,也可以使用fork参数
    $CMD -f $INITFILE &
    echo "MongoDB is running background..."
}

stop()
{
    pkill mongod
    echo "MongoDB is stopped."
}
   
case "$1" in
    start)
        start
        ;;
    stop)
        stop
        ;;
    *)
        echo $"Usage: $0 {start|stop}"
esac

脚本授权:

# chmod 755 /etc/init.d/mongodb

查看命令使用方法:

# /etc/init.d/mongodb status

启动mongodb:

# /etc/init.d/mongodb start

停止mongodb:

# /etc/init.d/mongodb stop

六、从节点 安装mongodb

上传mongodb-linux-x86_64-3.6.17.tgz上传到/opt/tools目录下,然后解压到/opt/app目录下:

# cd /opt/tools

# tar -zxvf mongodb-linux-x86_64-3.6.17.tgz -C /opt/app/

重命名mongodb目录:

# cd /opt/app/

# mv mongodb-linux-x86_64-3.6.17 mongodb

创建数据和日志存储目录:

# cd mongodb

# mkdir data

# mkdir log

添加配置文件:

# vi bin/mongodb.conf

添加以下内容:

port=27017

bind_ip=127.0.0.1,192.168.4.22

dbpath=/opt/app/mongodb/data

logpath=/opt/app/mongodb/log/mongo.log

directoryperdb=true

logappend=true

journal=true

fork=true

noprealloc=true

source=192.168.4.11:27017

slave=true

注意:以上内容的bind_ip替换为从服务器的IP,source替换为主服务器的IP

参数解释:

port:mongodb进程所使用的端口号,默认为27017

bind_ip:mongodb所绑定的ip地址

dbpath:数据存放目录

logpath:日志存放路径

directoryperdb:为每一个数据库按照数据库名建立文件夹存放

logappend:以追加的方式记录日志

fork:以后台方式运行进程

noprealloc:不预先分配存储

source:确定主数据库端口

slave:确定自己是从服务器

设置mongodb的环境变量:

# vi /etc/profile

在末尾添加以下配置:

#mongodb env

export MONGODB_HOME=/opt/app/mongodb

export PATH=$PATH:$MONGODB_HOME/bin

刷新环境配置:

# source /etc/profile

编写启动脚本:

# vi /etc/init.d/mongodb

添加以下内容:

#!/bin/bash
#
# mongod        Start up the MongoDB server daemon
#
# source function library

. /etc/rc.d/init.d/functions
#定义命令
CMD=/opt/app/mongodb/bin/mongod
#定义配置文件路径
INITFILE=/opt/app/mongodb/bin/mongodb.conf
start()
{
    #&表示后台启动,也可以使用fork参数
    $CMD -f $INITFILE &
    echo "MongoDB is running background..."
}

stop()
{
    pkill mongod
    echo "MongoDB is stopped."
}

case "$1" in
    start)
        start
        ;;
    stop)
        stop
        ;;
    *)
        echo $"Usage: $0 {start|stop}"
esac

脚本授权:

# chmod 755 /etc/init.d/mongodb

查看命令使用方法:

# /etc/init.d/mongodb status

启动mongodb:

# /etc/init.d/mongodb start

停止mongodb:

# /etc/init.d/mongodb stop

好了,以上就是linux部署mondodb主从模式的全过程了,就是这样了!!!^_^

今天就先到这里了,溜了溜了溜了!!!^_^

image.png