mongodb之rpm包安装
MongoDB中记录是文档,其是字段和值组成的对结构。mongodb文档类似JSON对象,字段的值可以包含其它文档、数组、文档的数组。记录组织成collection,相当于表。参考下图:
使用文档的优点是:
文档对应很多编程语言的内生数据对象
内嵌文档和数组减少了join的开销
动态schema支持顺畅多态
关键功能:
高性能:
mongodb提供高性能数据持久。特别是:
支持内嵌数据模型减少了数据库系统的I/O
索引支持快速查询且内嵌文档和数组可以包含键
高可用:
mongodb提供高可用的是replica sets
自动失败切换
数据冗余
replica set是一组mongodb服务器,它们维护这同一个数据集,提供冗余,增加数据可用性。
自动水平扩展:
水平扩展是mongodb的内核功能。
在集群上自动共享分布式数据
replica sets能为低延迟,高吞吐量的应用提供最终一致性读。
安装:
0
环境
[root@host2 ~]# uname -a
Linux host2 2.6.32-504.3.3.el6.x86_64 #1 SMP Wed Dec 17 01:55:02 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux
[root@host2 ~]# cat /etc/issue
CentOS release 6.5 (Final)
Kernel \r on an \m
1
配置yum源
[root@host2 ~]# vi /etc/yum.repos.d/mongodb.repo
[mongodb]
name=MongoDB Repository
baseurl=http://downloads-distro.mongodb.org/repo/redhat/os/x86_64/
gpgcheck=0
enabled=1
2
用命令$ yum install -y mongodb-org安装,该命令将自动安装下面四个包
mongodb-org-server:This package contains the mongod daemon and associated configuration and init scripts.
mongodb-org-mongos:This package contains the mongos daemon.
mongodb-org-shell:This package contains the mongo shell.
mongodb-org-tools:This package contains the following MongoDB tools: mongoimport bsondump, mongodump, mongoexport, mongofiles, mongooplog, mongoperf, mongorestore, mongostat, and mongotop.
要安装特定版本,可以使用命令yum install -y mongodb-org-2.6.1 mongodb-org-server-2.6.1 mongodb-org-shell-2.6.1 mongodb-org-mongos-2.6.1 mongodb-org-tools-2.6.1
目前用yum install -y mongodb-org命令安装的是2.6.7的版本
[root@host2 ~]# yum install -y mongodb-org
.。。。
Installed:
mongodb-org.x86_64 0:2.6.7-1
Dependency Installed:
mongodb-org-mongos.x86_64 0:2.6.7-1 mongodb-org-server.x86_64 0:2.6.7-1
mongodb-org-shell.x86_64 0:2.6.7-1 mongodb-org-tools.x86_64 0:2.6.7-1
Complete!
[root@host2 ~]#
3
为防止自动更新,在/etc/yum.conf中加上如下行:
exclude=mongodb-org,mongodb-org-server,mongodb-org-shell,mongodb-org-mongos,mongodb-org-tools
4
配置selinux
semanage port -a -t mongod_port_t -p tcp 27017
$ yum search semanage
$ yum -y install libsemanage-python.x86_64
或者
/etc/selinux.conf中
SELINUX=permissive/SELINUX=disabled
或者
[root@host2 ~]# getenforce
Enforcing
[root@host2 ~]# setenforce 0
[root@host2 ~]# getenforce
Permissive
5
查看
默认的数据文件在/var/lib/mongo里,日志文件在/var/log/mongodb里,
可以在配置文件/etc/mongod.conf里更改数据和日志文件目录。
以用户mongod运行。若以其它用户运行,要改其数据目录和日志目录的访问权限。
数据文件相关
[root@host2 ~]# ll /var/lib/
。。。
drwxr-xr-x. 2 mongod mongod 4096 1月 14 07:15 mongo
[root@host2 ~]# ll /var/lib/mongo
总用量 0
日志文件相关
[root@host2 ~]# ll /var/log/
。。。
drwxr-xr-x. 2 mongod mongod 4096 2月 2 14:35 mongodb
[root@host2 ~]# ll /var/log/mongodb/
总用量 0
-rw-r-----. 1 mongod mongod 0 1月 14 07:15 mongod.log
6
运行mongodb
[root@host2 ~]# /etc/init.d/mongod status
mongod 已停
[root@host2 ~]# service mongod status
mongod is stopped
[root@host2 ~]# service mongod start
Starting mongod: [ OK ]
7
查验:
[root@host2 ~]# netstat -ntpl | grep mongod
tcp 0 0 127.0.0.1:27017 0.0.0.0:* LISTEN 5334/mongod
[root@host2 ~]# ll /var/lib/mongo/
总用量 81936
drwxr-xr-x. 2 mongod mongod 4096 2月 2 15:16 journal
-rw-------. 1 mongod mongod 67108864 2月 2 15:16 local.0
-rw-------. 1 mongod mongod 16777216 2月 2 15:16 local.ns
-rwxr-xr-x. 1 mongod mongod 5 2月 2 15:16 mongod.lock
drwxr-xr-x. 2 mongod mongod 4096 2月 2 15:16 _tmp
8
配置开机启动
chkconfig mongod on
9
命令行进入测试
[root@host2 ~]# mongo
MongoDB shell version: 2.6.7
connecting 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
> show dbs
admin (empty)
local 0.078GB
> db.version();
2.6.7
>
>
> help
db.help() help on db methods
db.mycoll.help() help on collection methods
sh.help() sharding helpers
rs.help() replica set helpers
help admin administrative help
help connect connecting to a db help
help keys key shortcuts
help misc misc things to know
help mr mapreduce
show dbs show database names
show collections show collections in current database
show users show users in current database
show profile show most recent system.profile entries with time >= 1ms
show logs show the accessible logger names
show log [name] prints out the last segment of log in memory, ‘global‘ is default
use <db_name> set current database
db.foo.find() list objects in collection foo
db.foo.find( { a : 1 } ) list objects in foo where a == 1
it result of the last line evaluated; use to further iterate
DBQuery.shellBatchSize = x set default number of items to display on shell
exit quit the mongo shell
>
> exit
bye
[root@host2 ~]#
10
停止
sudo service mongod stop
可以通过日志文件 /var/log/mongodb/mongod.log查看mongod进程的错误和相关信息。
参考:
http://docs.mongodb.org/manual/tutorial/install-mongodb-on-red-hat-centos-or-fedora-linux/
-----------------
blog.csdn.net/beiigang
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。