一起养成写作习惯!这是我参与「掘金日新计划 · 4 月更文挑战」的第22天,点击查看活动详情。
部署mongodb主从模式
一、 Mongodb安装使用
这里下载的版本是:mongodb-linux-x86_64-3.6.17.tgz
注意:mongodb4.0版本以后只支持副本集的主从复制,不再支持单独的主从复制
带认证的主从复制配置教程: 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主从模式的全过程了,就是这样了!!!^_^
今天就先到这里了,溜了溜了溜了!!!^_^