1、概述

1.1、目的

规范Mongodb数据库安装及参数配置,形成统一的数据库部署格式,达到Mongodb数据库安装及其维护工作的标准化,规范化,自动化。

1.2、环境

操作系统: Linux(RHEL,CentOS)

数据库版本: MongoDB官方社区4.0.9

1.3、注意事项

文中以>开头,表示在数据库中的操作。

$开头,表示在mongodb用户下的操作。

#开头,表示需要root权限操作。

2、系统

操作系统参数调整:



参数类型

注释

修改方法

IO

调整IO调度规则

# cat <<EOF >>/etc/rc.local

echo deadline >/sys/block/sdb/queue/scheduler

EOF

Centos 7.2中sdb改为sda

IO

禁用交换区

# echo "vm.swappiness=0" >>/etc/sysctl.conf

# sysctl –p

内核

关闭numa

方法一:硬件层,在BIOS中设置关闭,联系系统管理员。

方法二:操作系统启动时关闭,步骤如下(centOS 7):

1.#vim /etc/grub2.cfg

2.在第一个UTF-8后添加numa=off

3.在第二个quiet后添加numa=off

文件系统

文件数进程数限制

#cat >>/etc/security/limits.conf <<EOF

* soft nproc 65535

* hard nproc 65535

* soft nofile 65536

* hard nofile 65536

EOF

文件系统

文件挂载系统

# mount -o remount -o noatime -o nodiratime /data

网络

禁用iptables

# systemctl stop iptables.service

网络

禁用iv6

# echo "net.ipv6.conf.all.disable_ipv6 =1" >>/etc/sysctl.conf

# sysctl –p



3、下载安装

3.1、安装

操作步骤:

创建用户:



#groupadd mongodb
#useradd -g mongodb -m mongodb




centos7部署mongodb集群部署 linux部署mongodb_linux


centos7部署mongodb集群部署 linux部署mongodb_Powered by 金山文档_02


软件部署:


centos7部署mongodb集群部署 linux部署mongodb_Powered by 金山文档_03


改名,放到指定目录:/usr/local


$ mv mongodb-linux-x86_64-4.0.9 /usr/local/mongodb


新建必要的文件夹(依次存放:数据库文件,日志文件,配置文件)


$ cd /usr/local/mongodb
$ mkdir data
$ mkdir log
$ mkdir etc


centos7部署mongodb集群部署 linux部署mongodb_linux_04


添加系统路径


$ vi /etc/profile
$ export PATH=$PATH:/usr/local/mongodb/bin


centos7部署mongodb集群部署 linux部署mongodb_mongodb_05


配置生效


$ source /etc/profile
查看是否添加成功
$ echo $PATH


centos7部署mongodb集群部署 linux部署mongodb_mongodb_06


或者做软连接


$ ln -s /usr/local/mongodb/bin/mongo /usr/bin/mongo


centos7部署mongodb集群部署 linux部署mongodb_Powered by 金山文档_07


centos7部署mongodb集群部署 linux部署mongodb_配置文件_08


3.2、编写配置文件

配置文件编写基础内容


$ vi etc/mongodb.conf
# db存放的目录
dbpath=/usr/local/mongodb/data

# 后台启动需要配置日志输出
logpath=/usr/local/mongodb/log/mongodb.log

# 端口(根据业务情况进行填写)
port=27017
bind_ip = 127.0.0.1

# 设置成后台启动(根据业务情况进行填写)
fork=true
journal=false




3.3、启动关闭

启动关闭方式


# 启动服务
$ mongod --config /usr/local/mongodb/etc/mongodb.conf
# 关闭服务
$ mongod --config /usr/local/mongodb/etc/mongodb.conf --shutdown
# 或者
$ killall mongod


4、外网访问和权限

4.1、添加用户


# 本地连接
$ mongo

# 查看数据库
> show dbs

#切换到admin库
> use admin
switched to db admin

#创建超级管理员
> db.createUser({user: "账户名",pwd: "密码",roles: [ { role: "root", db: "admin" } ]});

#创建普通用户
> db.createUser({user: "账户名",pwd: "密码",roles: [ { role: "readWrite", db: "admin" } ]});

# 查看已有用户
> show users



4.2、配置文件补充


$ vi /usr/local/mongodb/etc/mongodb.conf

# 登录验证(根据业务情况进行填写)
auth=true

# 外网访问(根据业务情况进行填写)
bind_ip = 0.0.0.0

#不同版本可能配置不一样
# mongod -v
#db version v4.0.26
# 登录验证
# security:
# authorization: enabled


4.3、验证启动


#

本地连接 - 连接时验证
$ mongo -u username -p password

# 远程连接 - 连接时验证
$ mongo 127.0.0.1/admin -u username -p password

# 远程连接 - 连接后验证
$ mongo 127.0.0.1/admin

> use admin
switched to db admin

> db.auth("username", "password")


5、设置开机启动

编写启动关闭脚本


$ vi /etc/rc.d/init.d/mongod.sh


内容如下,(注意使用绝对路径)


#/bin/bash
start() {
/usr/local/mongodb/bin/mongod --config /usr/local/mongodb/etc/mongodb.conf
}

stop() {
/usr/local/mongodb/bin/mongod --config /usr/local/mongodb/etc/mongodb.conf --shutdown
}
case "$1" in
 start)
 start
 ;;

stop)
 stop
 ;;

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


授权启用


# 更改权限
# chmod +x /etc/rc.d/init.d/mongod.sh

# 启动服务
$ sh mongod.sh start

# 关闭服务
$ sh mongod.sh stop