一、安装环境及配置yum
# more /etc/redhat-release CentOS Linux release 7.2.1511 (Core) # vi /etc/yum.repos.d/mongodb-org-3.2.repo [mongodb-org-3.2] name=MongoDB Repository baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/3.2/x86_64/ gpgcheck=1 enabled=1 gpgkey=https://www.mongodb.org/static/pgp/server-3.2.asc
二、安装MongoDB
# yum -y install mongodb-org Loaded plugins: fastestmirror, langpacks base | 3.6 kB 00:00:00 epel/x86_64/metalink | 5.2 kB 00:00:00 extras | 3.4 kB 00:00:00 mongodb-org-3.2 | 2.5 kB 00:00:00 updates | 3.4 kB 00:00:00 mongodb-org-3.2/7/primary_db | 50 kB 00:00:03 Loading mirror speeds from cached hostfile * base: mirrors.aliyun.com * epel: mirrors.tuna.tsinghua.edu.cn * extras: mirrors.aliyun.com * updates: mirrors.aliyun.com Resolving Dependencies --> Running transaction check ---> Package mongodb-org.x86_64 0:3.2.10-1.el7 will be installed --> Processing Dependency: mongodb-org-tools = 3.2.10 for package: mongodb-org-3.2.10-1.el7.x86_64 --> Processing Dependency: mongodb-org-shell = 3.2.10 for package: mongodb-org-3.2.10-1.el7.x86_64 --> Processing Dependency: mongodb-org-server = 3.2.10 for package: mongodb-org-3.2.10-1.el7.x86_64 --> Processing Dependency: mongodb-org-mongos = 3.2.10 for package: mongodb-org-3.2.10-1.el7.x86_64 --> Running transaction check ---> Package mongodb-org-mongos.x86_64 0:3.2.10-1.el7 will be installed ---> Package mongodb-org-server.x86_64 0:3.2.10-1.el7 will be installed ---> Package mongodb-org-shell.x86_64 0:3.2.10-1.el7 will be installed ---> Package mongodb-org-tools.x86_64 0:3.2.10-1.el7 will be installed --> Finished Dependency Resolution Dependencies Resolved =================================================================================================== Package Arch Version Repository Size =================================================================================================== Installing: mongodb-org x86_64 3.2.10-1.el7 mongodb-org-3.2 5.8 k Installing for dependencies: mongodb-org-mongos x86_64 3.2.10-1.el7 mongodb-org-3.2 5.6 M mongodb-org-server x86_64 3.2.10-1.el7 mongodb-org-3.2 12 M mongodb-org-shell x86_64 3.2.10-1.el7 mongodb-org-3.2 6.7 M mongodb-org-tools x86_64 3.2.10-1.el7 mongodb-org-3.2 41 M Transaction Summary =================================================================================================== Install 1 Package (+4 Dependent packages) Total download size: 65 M Installed size: 201 M Downloading packages: warning: /var/cache/yum/x86_64/7/mongodb-org-3.2/packages/mongodb-org-3.2.10-1.el7.x86_64.rpm: Header V3 RSA/SHA1 Signature, key ID ea312927: NOKEY ] Public key for mongodb-org-3.2.10-1.el7.x86_64.rpm is not installed (1/5): mongodb-org-3.2.10-1.el7.x86_64.rpm | 5.8 kB 00:00:04 (2/5): mongodb-org-server-3.2.10-1.el7.x86_64.rpm | 12 MB 00:00:11 (3/5): mongodb-org-shell-3.2.10-1.el7.x86_64.rpm | 6.7 MB 00:00:06 (4/5): mongodb-org-tools-3.2.10-1.el7.x86_64.rpm | 41 MB 00:00:36 (5/5): mongodb-org-mongos-3.2.10-1.el7.x86_64.rpm | 5.6 MB 00:03:28 --------------------------------------------------------------------------------------------------- Total 322 kB/s | 65 MB 00:03:28 Retrieving key from https://www.mongodb.org/static/pgp/server-3.2.asc Importing GPG key 0xEA312927: Userid : "MongoDB 3.2 Release Signing Key" Fingerprint: 42f3 e95a 2c4f 0827 9c49 60ad d68f a50f ea31 2927 From : https://www.mongodb.org/static/pgp/server-3.2.asc Running transaction check Running transaction test Transaction test succeeded Running transaction Installing : mongodb-org-tools-3.2.10-1.el7.x86_64 1/5 Installing : mongodb-org-mongos-3.2.10-1.el7.x86_64 2/5 Installing : mongodb-org-shell-3.2.10-1.el7.x86_64 3/5 Installing : mongodb-org-server-3.2.10-1.el7.x86_64 4/5 Installing : mongodb-org-3.2.10-1.el7.x86_64 5/5 Verifying : mongodb-org-server-3.2.10-1.el7.x86_64 1/5 Verifying : mongodb-org-3.2.10-1.el7.x86_64 2/5 Verifying : mongodb-org-shell-3.2.10-1.el7.x86_64 3/5 Verifying : mongodb-org-mongos-3.2.10-1.el7.x86_64 4/5 Verifying : mongodb-org-tools-3.2.10-1.el7.x86_64 5/5 Installed: mongodb-org.x86_64 0:3.2.10-1.el7 Dependency Installed: mongodb-org-mongos.x86_64 0:3.2.10-1.el7 #Author : Leshami mongodb-org-server.x86_64 0:3.2.10-1.el7 #Blog : http://blog.csdn.net/leshami mongodb-org-shell.x86_64 0:3.2.10-1.el7 mongodb-org-tools.x86_64 0:3.2.10-1.el7 Complete!
三、验证安装结果
# rpm -qa |grep mongodbmongodb-org-3.2.10-1.el7.x86_64 mongodb-org-mongos-3.2.10-1.el7.x86_64 mongodb-org-shell-3.2.10-1.el7.x86_64 mongodb-org-server-3.2.10-1.el7.x86_64 mongodb-org-tools-3.2.10-1.el7.x86_64# rpm -ql mongodb-org-server/etc/init.d/mongod /etc/mongod.conf/etc/sysconfig/mongod /usr/bin/mongod /usr/share/doc/mongodb-org-server-3.2.10/usr/share/doc/mongodb-org-server-3.2.10/GNU-AGPL-3.0/usr/share/doc/mongodb-org-server-3.2.10/MPL-2/usr/share/doc/mongodb-org-server-3.2.10/README /usr/share/doc/mongodb-org-server-3.2.10/THIRD-PARTY-NOTICES /usr/share/man/man1/mongod.1/var/lib/mongo /var/log/mongodb /var/log/mongodb/mongod.log/var/run/mongodb [root@localhost ~]# /etc/init.d/mongod startStarting mongod (via systemctl): [ OK ] [root@localhost ~]# netstat -nltp|grep mongotcp 0 0 127.0.0.1:27017 0.0.0.0:* LISTEN 89958/mongod# mongoMongoDB shell version: 3.2.10connecting to: test Welcome to the MongoDB shell. For interactive help, type "help". For more comprehensive documentation, see http://docs.mongodb.org/ Questions? Try the support group http://groups.google.com/group/mongodb-user > db.version()3.2.10
配置,启动和使用 mongodb
Centos7 开始采用 systemd
来管理服务
配置
fork=true ## 允许程序在后台运行 #auth=true ## 开始认证 logpath=/data/db/mongodb/logs/mongodb.log logappend=true # 写日志的模式:设置为true为追加。默认是覆盖 dbpath=/data/db/mongodb/data/ ## 数据存放目录 pidfilepath=/data/db/mongodb/logs/mongodb.pid # 进程ID,没有指定则启动时候就没有PID文件。默认缺省。 port=27017 #bind_ip=192.168.2.73 # 绑定地址。默认127.0.0.1,只能通过本地连接 # 设置为true,修改数据目录存储模式,每个数据库的文件存储在DBPATH指定目录的不同的文件夹中。 # 使用此选项,可以配置的MongoDB将数据存储在不同的磁盘设备上,以提高写入吞吐量或磁盘容量。默认为false。 # 建议一开始就配置次选项 directoryperdb=true # 禁止日志 # 对应 journal 启用操作日志,以确保写入持久性和数据的一致性,会在dbpath目录下创建journal目录 nojournal = true ## max connections # 最大连接数。默认值:取决于系统(即的ulimit和文件描述符)限制。 # MongoDB中不会限制其自身的连接。当设置大于系统的限制,则无效,以系统限制为准。 # 设置该值的高于连接池和总连接数的大小,以防止尖峰时候的连接。 # 注意:不能设置该值大于20000。 maxConns=1024
但是实际配置中配置1024在系统的中告警 --maxConns too high, can only handle 819
, 暂时找到是什么原因
启动 Mongo
## 检查 mongodb 是否允许系统启动 systemctl is-enabled mongodb ## 使 mongodb 系统启动 systemctl enable mongodb ## 启动 systemctl start mongodb ## 查看启动状态 systemctl status mongodb ## 停止 systemctl stop mongodb
使用 Mongo
root@pts/4 $ mongo --help MongoDB shell version: 3.0.6 usage: mongo [options] [db address] [file names (ending in .js)] db address can be: foo foo database on local machine 192.169.0.5/foo foo database on 192.168.0.5 machine 192.169.0.5:9999/foo foo database on 192.168.0.5 machine on port 9999 Options: --shell run the shell after executing files --nodb don't connect to mongod on startup - no 'db address' arg expected --norc will not run the ".mongorc.js" file on start up --quiet be less chatty --port arg port to connect to --host arg server to connect to --eval arg evaluate javascript -h [ --help ] show this usage information --version show version information --verbose increase verbosity --ipv6 enable IPv6 support (disabled by default) --ssl use SSL for all connections --sslCAFile arg Certificate Authority file for SSL --sslPEMKeyFile arg PEM certificate/key file for SSL --sslPEMKeyPassword arg password for key in PEM file for SSL --sslCRLFile arg Certificate Revocation List file for SSL --sslAllowInvalidHostnames allow connections to servers with non-matching hostnames --sslAllowInvalidCertificates allow connections to servers with invalid certificates --sslFIPSMode activate FIPS 140-2 mode at startup Authentication Options: -u [ --username ] arg username for authentication -p [ --password ] arg password for authentication --authenticationDatabase arg user source (defaults to dbname) --authenticationMechanism arg authentication mechanism --gssapiServiceName arg (=mongodb) Service name to use when authenticating using GSSAPI/Kerberos --gssapiHostName arg Remote host name to use for purpose of GSSAPI/Kerberos authentication file names: a list of files to run. files have to end in .js and will exit after unless --shell is specified
例子
root@pts/2 $ mongo localhost/test MongoDB shell version: 3.0.6 connecting to: localhost/test Server has startup warnings: 2015-09-08T14:29:50.163+0800 I CONTROL [initandlisten] 2015-09-08T14:29:50.163+0800 I CONTROL [initandlisten] ** WARNING: /sys/kernel/mm/transparent_hugepage/enabled is 'always'. 2015-09-08T14:29:50.163+0800 I CONTROL [initandlisten] ** We suggest setting it to 'never' 2015-09-08T14:29:50.163+0800 I CONTROL [initandlisten] 2015-09-08T14:29:50.163+0800 I CONTROL [initandlisten] ** WARNING: /sys/kernel/mm/transparent_hugepage/defrag is 'always'. 2015-09-08T14:29:50.163+0800 I CONTROL [initandlisten] ** We suggest setting it to 'never' 2015-09-08T14:29:50.163+0800 I CONTROL [initandlisten] > show dbs local 0.078GB weic 0.203GB weictest 0.078GB > use weic switched to db weic > show collections actorAudio attention audio system.indexes tagInfo > db.tagInfo.findOne() { "_id" : ObjectId("563c871f8105044098c6c761"), "id" : NumberLong(1), "name" : "声音萌软淑" } >