MongoDB单机环境搭建
1,下载
去mongo的官网下载最新发行版,我安装的时候是4.2.7

2,规划
本次搭建的是单机环境,主要用于个人测试使用。
3,系统参数修改
官方建议的ulimit参数配置

不使用hugepages
cat /proc/sys/vm/nr_hugepages
确保其值为零,如果不是请修改执行下面操作。
echo 0>/proc/sys/vm/nr_hugepages
echo never >> /sys/kernel/mm/transparent_hugepage/enabled
echo never >> /sys/kernel/mm/transparent_hugepage/defrag
防火墙端口
我这里规划使用11000端口,要提前打开。需root权限
firewall-cmd –zone=public –add-port=11000/tcp –permanent
firewall-cmd –reload
firewall-cmd –list-ports
安装numactl
在NUMA架构的机器上,要以numactl运行,否则有告警
1 | yum install numactl |
4,开始部署
4.1 目录规划
| ~/mongo | 放mongo安装文件 |
|---|---|
| ~/mongodata/data | 放数据文件 |
| ~/mongodata/logs/mongod.log | mongo运行日志 |
4.2 解压
1 | cd ~/mongo |
4.3 配置文件
当前所在路径为 mongo/mongodb-linux-x86_64-rhel70-4.2.7/bin
创建配置文件
1 | mkdir conf |
配置文件内容:
具体解释,可以看官方文档
https://docs.mongodb.com/manual/reference/configuration-options/#file-format
1 | systemLog: |
4.4 启动脚本
写个start.sh,以后方便点
1 | numactl --interleave=all /home/xxxadmin/mongo/mongodb-linux-x86_64-rhel70-4.2.7/bin/mongod -f ./conf/mongod.conf |
1 | chmod +x start.sh |
4.5 启动
1 | sh start.sh |
4.6 关闭
1 | ./mongod --shutdown -f ./conf/mongod.conf |
5 配置管理员用户
登录
1 | ./mongo localhost:11000 |
会看到有告警
** WARNING: Access control is not enabled for the database.
应该以认证的安全模式使用mongo。否则都能登录mongo。
先切到admin库下,默认是在test库。这点容易忘记
1 | use admin |
1 | db.createUser({user: "admin", pwd: "Hello,123", roles:[{role:"root", db:"admin"}]}) |
现在用auth模式重启,解决warning
修改start.sh
1 | numactl --interleave=all /home/xxxadmin/mongo/mongodb-linux-x86_64-rhel70-4.2.7/bin/mongod --auth -f ./conf/mongod.conf |
重启mongo。重新登录,要加上用户名密码
1 | ./mongo localhost:11000 -u admin -p Hello,123 --authenticationDatabase admin |
6, 创建普通用户及业务数据库
记得切到admin库下
1 | use admin |
切到baas_bbs库下
插入一条数据试试
1 | use baas_bbs |
WriteResult({ “nInserted” : 1 })
ok,完成