1、MongoDB的RPM包介绍:
MongoDB官方提供的包如下,并且这些包也支持yum方式安装,Mongo提供了自己的yum库。
mongodb-org
这个包是一个元包(metapackage),自动安装以下四个包。
mongodb-org-server
这个包中包含mongod守护进程和相关的配置和初始化脚本。
mongodb-org-mongos
这个包中包含mongos进程。
mongodb-org-shell
这个包中包含mongo shell程序。
mongodb-org-tools
这个包中包含mongo的工具,有如下: mongoimport bsondump, mongodump, mongoexport, mongofiles, mongooplog, mongoperf, mongorestore, mongostat和mongotop。
2、CentOS6 64位系统YUM安装MongoDB-3.6.1
1)首先创建文件/etc/yum.repos.d/mongodb.repo 来保存下面的 MongoDB 软件库配置信息:
[mongodb-org-3.6]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/3.6/x86_64/
gpgcheck=0
enabled=1
2)安装MongoDB
安装最新的稳定版MongoDB, 使用下列命令:
# yum install -y mongodb-org
3)运行MongoDB
# mongod --auth -f /etc/mongod.conf
4)检查MongoDB服务端口是否已经监听
# netstat -antpl | grep 27017
tcp 0 0 127.0.0.1:27017 0.0.0.0:* LISTEN 1852/mongod
4)关闭MongoDB
# pkill mongod
5)MongoDB的文件
# 配置文件;
/etc/mongod.conf
# 服务文件;
/etc/rc.d/init.d/mongod
# 日志文件;
/var/log/mongodb/mongod.log
# PID文件;
/var/run/mongodb/mongod.pid
# 数据目录;
/var/lib/mongo
6)MongoDB工具集
MongoDB在bin目录下提供了一系列有用的工具,这些工具提供了MongoDB在运维管理上的方便,mongodb 3.0官方使用GO语言全部重写了这些工具。
Bsondump – 将bson格式的文件转储为json格式的数据。
Mongo – 客户端命令行工具,其实也是一个javascript解释器,支持js语法。
Mongod – 数据库服务器端,每个实例启动一个进程,可以fork为后台运行。
Mongodump/mongorestore – 数据库备份和恢复工具。
Mongoexport/mongoimport – 数据导出和导入工具。
Mongofiles – GridFS管理工具,可实现二进制文件的存储。
Mongos – 分片路由,如果是用来sharding功能,则应用程序连接的是mongos而不是mongod。
Mongostat – 实例统计信息。
Mongotop – 数据库磁盘I/O实时分析工具。
Mongooplog – 日志分析工具。
Mongoopperf – 性能测试工具。
7)MongoDB后台管理 Shell
当MongoDB安装好并启动之后,如果你需要进入MongoDB后台管理,你需要先打开mongodb装目录的下的bin目录,然后执行mongo命令文件。MongoDB Shell是MongoDB自带的交互式Javascript shell,用来对MongoDB进行操作和管理的交互式环境。
当你进入mongoDB后台后,它默认会链接到 test 文档(数据库):
# mongo
MongoDB shell version v3.6.1
connecting to: mongodb://127.0.0.1:27017
MongoDB server version: 3.6.1
Server has startup warnings:
2017-12-29T14:40:14.241+0800 I CONTROL [initandlisten] ** WARNING: /sys/kernel/mm/transparent_hugepage/enabled is 'always'.
2017-12-29T14:40:14.242+0800 I CONTROL [initandlisten] ** We suggest setting it to 'never'
2017-12-29T14:40:14.242+0800 I CONTROL [initandlisten]
2017-12-29T14:40:14.243+0800 I CONTROL [initandlisten] ** WARNING: /sys/kernel/mm/transparent_hugepage/defrag is 'always'.
2017-12-29T14:40:14.243+0800 I CONTROL [initandlisten] ** We suggest setting it to 'never'
2017-12-29T14:40:14.244+0800 I CONTROL [initandlisten]
>
上面通过mongo客户端进入到了mongodb shell交互式接口,但是会有二个警告信息,警告信息是关于Linux中hugepage的。
MongoDB警告信息就是要求关闭hugepage,Oracle也要求关闭,HDFS会因为这个性能严重受影响。就是允许hugepage可以动态分配,而不是系统启动时预先分配,看上去对内存消耗很大的服务都不喜欢它。
以下操作是临时关闭hugepage开机自动分配:
# echo "never" > /sys/kernel/mm/transparent_hugepage/enabled
# echo "never" > /sys/kernel/mm/transparent_hugepage/defrag
修改完毕之后重启mongod服务,再次进入Mongodb Shell就不会再有后两个警告信息了,如下:
# mongo
MongoDB shell version v3.6.1
connecting to: mongodb://127.0.0.1:27017
MongoDB server version: 3.6.1
>