mongodb安装与简单配置

Posted laowang12

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mongodb安装与简单配置相关的知识,希望对你有一定的参考价值。

1.将下载好的安装包上传lniux服务器上,或者curl -O https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-3.0.6.tgz
2.tar -zxvf mongodb-linux-x86_64-3.0.6.tgz
3.mv  mongodb-linux-x86_64-3.0.6/ /usr/local/mongodb                         # 将解压包拷贝到指定目录
4.在指定目录下创建相应的文件夹,用来存储数据和mongoDB的日志文件,例如:在/usr/local/mongodb 目录下创建
/usr/local/mongodb/data,用来存储数据,创建/usr/local/mongodb/logs来存储日志、
5.执行/usr/local/mongodb/bin/mongod --port 27017 --fork --dbpath=/usr/local/mongodb/data/ --logpath=/usr/local/mongodb/logs/mongodb.log --logappend
命令出现下面文字为成功,
about to fork child process, waiting until server is ready for connections.
forked process: 8533
可以执行:ps aux |grep mongodb 或者pstree -p | grep mongod
或者 执行netstat -lanp | grep "27017" 
出现这个情况为成功
tcp
0 0 0.0.0.0:27017 0.0.0.0:* LISTEN 8533/mongod unix 2
[ ACC ] STREAM LISTENING 75204 8533/mongod /tmp/mongodb-27017.sock
也可以在logs查看日志文件 执行 .
/mongo 进入控制台后出现 MongoDB shell version: 3.0.6 connecting to: test
6.停止mongodb命令 db.shutdownServer() 先use admin 用户后方可用此命令
7. ./mongod --dbpath=/usr/local/mongodb/data/db --rest命令 可以在虚拟机上的浏览器输入 http://localhost:28017 出现界面服务


启动参数说明

启动命令常用参数选项说明:

--dbpath  指定数据库的目录

--port    指定数据库的端口,默认是27017

--bind_ip  绑定IP

--logpath  指定日志存放目录

--logappend  指定日志生成方式(追加/覆盖)

--pidfilepath  指定进程文件路径,如果不指定,将不产生进程文件

--keyFile  集群模式授权验证的私有key

--journal  启用日志

--nssize  指定.ns文件的大小,单位MB,默认是16M,最大是2G

--maxConns  最大的并非连接数

--notablescan  不允许进行表扫描

--noprealloc  关闭数据文件的预分配功能

--fork  以后台Daemon形式运行服务

更多的参数选项利用mongod --help 进行查看

  启动时候回回显示在日志里4Waring:

** WARNING: Readahead for /usr/local/mongodb is set to 4096KB
We suggest setting it to 256KB (512 sectors) or less
http://dochub.mongodb.org/core/readahead

** WARNING: You are running this process as the root user, which is not recommended.

** WARNING: /sys/kernel/mm/transparent_hugepage/enabled is ‘always‘.
We suggest setting it to ‘never‘

** WARNING: /sys/kernel/mm/transparent_hugepage/defrag is ‘always‘.
We suggest setting it to ‘never‘

  

① 参考官网提示:

保证对用来存储数据文件的块设备的预读设置是合适的。对于随机访问模式,设置低的预读值。一个预读值为32(16kb)通常工作的很好。

对于标准块设备,可以运行 sudo blockdev --report 得到预读值设置,运行 sudo blockdev --setra <value> <value> 改变预读值设置。

参考你的具体操作系统手册来了解更多信息。

 

其实运行了 blockdev --report 之后展示了几行信息,排除非4096的,但这样是不能确定哪个是用来存储数据文件的块设备。

用 df -h 查看文件系统信息,可以看到容量最大的就是我们的硬盘,就用它来存储数据文件吧。

 

运行 blockdev --setra 256 你的盘符名(如:/dev/sda2)。

 

② 第二个完全可以忽略。

③④ 按照建议设置,设置方式参考: 

https://docs.mongodb.org/manual/tutorial/transparent-huge-pages/

https://oracle-base.com/articles/linux/configuring-huge-pages-for-oracle-on-linux-64#disabling-transparent-hugepages

我这里就直接把下面的加到rc.local的末尾,开机设置并自启:

如果当前手工改动后,验证是否由 [always] madvise never 变为 always madvise [never]


cat /sys/kernel/mm/transparent_hugepage/enabled
 
具体操作:

一、关闭SElinux、配置防火墙

1、vi /etc/selinux/config

#SELINUX=enforcing #注释掉

#SELINUXTYPE=targeted #注释掉

SELINUX=disabled #增加

:wq! #保存退出

setenforce 0 #使配置立即生效

2、vi /etc/sysconfig/iptables #编辑

-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 27017 -j ACCEPT #允许27017端口通过防火墙

:wq! #保存退出

/etc/init.d/iptables restart #重启防火墙使配置生效

二、安装MongoDB

MongoDB下载地址:https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-3.0.6.tgz #目前最新版

上传mongodb-linux-x86_64-3.0.6.tgz到/usr/local/src目录

cd /usr/local/src #进入软件存放目录

tar zxvf mongodb-linux-x86_64-3.0.6.tgz #解压

mv mongodb-linux-x86_64-3.0.6 /usr/local/mongodb #移动解压文件夹到MongoDB安装目录

mkdir -p /data/mongodb/mongodb_data/ #创建MongoDB数据库存放路径

mkdir -p /data/mongodb/mongodb_log/ #创建MongoDB数据库日志存放路径

#启动MongoDB

/usr/local/mongodb/bin/mongod --port 27017 --fork --dbpath=/data/mongodb/mongodb_data/ --logpath=/data/mongodb/mongodb_log/mongodb.log --logappend

netstat -lanp | grep "27017" #查看MongoDB是否启动

cd /usr/local/mongodb/bin/

./mongo #进入MongoDB数据库控制台

use admin #进入admin数据库

db.shutdownServer() #关闭MongoDB数据库

exit #退出

三、设置MongoDB数据库

1、cd /usr/local/mongodb/ #进入MongoDB安装目录

vi /usr/local/mongodb/mongodb.conf #编辑

port=27017 #端口号

dbpath=/data/mongodb/mongodb_data/ #数据库路径

logpath=/data/mongodb/mongodb_log/mongodb.log #日志输出文件路径

pidfilepath=/usr/local/mongodb/mongo.pid

fork=true #设置后台运行

logappend=true #日志输出方式

shardsvr=true

#auth=true #开启认证

:wq! #保存退出

2、cd /usr/local/mongodb/bin/

/usr/local/mongodb/bin/mongod --config /usr/local/mongodb/mongodb.conf #启动MongoDB

/usr/local/mongodb/bin/mongo 127.0.0.1:27017/admin --eval "db.shutdownServer()" #关闭MongoDB

vi /etc/rc.d/init.d/mongod #设置开机启动MongoDB

ulimit -SHn 655350

#!/bin/sh

# chkconfig: - 64 36

# description:mongod

case $1 in

start)

/usr/local/mongodb/bin/mongod --maxConns 20000 --config /usr/local/mongodb/mongodb.conf

;;

stop)

/usr/local/mongodb/bin/mongo 127.0.0.1:27017/admin --eval "db.shutdownServer()"

;;

status)

/usr/local/mongodb/bin/mongo 127.0.0.1:27017/admin --eval "db.stats()"

;;

esac

:wq! #保存退出

chmod +x /etc/rc.d/init.d/mongod #添加脚本执行权限

chkconfig mongod on #设置开机启动

service mongod start #启动MongoDB

注意:如果设置了管理员账户密码,请使用以下命令

账户:root

密码:123456

/usr/local/mongodb/bin/mongo 127.0.0.1:27017/admin --eval "db.auth(‘root‘, ‘123456‘);db.shutdownServer()"

/usr/local/mongodb/bin/mongo 127.0.0.1:27017/admin --eval "db.auth(‘root‘, ‘123456‘);db.stats()"

3、vi /etc/profile #添加环境变量,编辑,在最后一行添加下面的代码

export PATH=$PATH:/usr/local/mongodb/bin

:wq! #保存退出

source /etc/profile #使配置立即生效

mongo #进入MongoDB控制台

show dbs #查看默认数据库

use admin #切换到admin数据库

exit #退出MongoDB控制台

至此,MongoDB数据库安装配置完成。

 











以上是关于mongodb安装与简单配置的主要内容,如果未能解决你的问题,请参考以下文章

学习MongoDB 一:MongoDB 入门(安装与配置)

第一课 MongoDB 概述与安装

Centos下mongodb的安装与配置

MongoDB 学习安装配置和简单应用

MongoDB安装与配置

MongoDB的安装与配置