- 一、准备工作:
- 运行yum命令查看MongoDB的包信息 [root@vm ~]# yum info mongo-10gen
- (提示没有相关匹配的信息,)
- 说明你的centos系统中的yum源不包含MongoDB的相关资源,所以要在使用yum命令安装MongoDB前需要增加yum源,也就是在 /etc/yum.repos.d/目录中增加 *.repo yum源配置文件,以下分别是针对centos 64位和32位不同的系统的MongoDB yum 源配置内容:
- 我们这里就将该文件命名为:/etc/yum.repos.d/10gen.repo
- For 64-bit yum源配置:
- vi /etc/yum.repos.d/10gen.repo
- [10gen]
- name=10gen Repository
- baseurl=http://downloads-distro.mongodb.org/repo/redhat/os/x86_64
- gpgcheck=0
- For 32-bit yum源配置:
- vi /etc/yum.repos.d/10gen.repo
- [10gen]
- name=10gen Repository
- baseurl=http://downloads-distro.mongodb.org/repo/redhat/os/i686
- gpgcheck=0
- 根据自己的系统选择相应的配置内容
- 查看系统是32位还是64位的方法:
- $ uname -a
- 含有x86_64的那说明是64位的,例如我的centos6.0 64bit系统执行这个命令后显示:
- Linux vm.centos6 2.6.32-71.29.1.el6.x86_64 #1 SMP Mon Jun 27 19:49:27 BST 2011 x86_64 x86_64 x86_64 GNU/Linux
- 做好yum源的配置后,如果配置正确执行下面的命令便可以查询MongoDB相关的信息:
- 查看mongoDB的服务器包的信息
- [root@vm ~]# yum info mongo-10gen-server
- ****(省略多行不重要的信息)*********
- Available Packages
- Name : mongo-10gen-server
- Arch : x86_64
- Version : 1.8.2
- Release : mongodb_1
- Size : 4.7 M
- Repo : 10gen
- Summary : mongo server, sharding server, and support scripts
- URL : http://www.mongodb.org
- License : AGPL 3.0
- Description: Mongo (from "huMONGOus") is a schema-free document-oriented
- : database.
- :
- : This package provides the mongo server software, mongo sharding
- : server softwware, default configuration files, and init.d scripts.
- [root@vm ~]#
- 查看客户端工具的信息
- [root@vm ~]# yum info mongo-10gen
- Loaded plugins: fastestmirror
- **(省略多行不重要的信息)**
- Installed Packages
- Name : mongo-10gen
- Arch : x86_64
- Version : 1.8.2
- Release : mongodb_1
- Size : 55 M
- Repo : 10gen
- Summary : mongo client shell and tools
- URL : http://www.mongodb.org
- License : AGPL 3.0
- Description: Mongo (from "huMONGOus") is a schema-free document-oriented
- : database. It features dynamic profileable queries, full indexing,
- : replication and fail-over support, efficient storage of large
- : binary data objects, and auto-sharding.
- :
- : This package provides the mongo shell, import/export tools, and
- : other client utilities.
- [root@vm ~]#
- 二、安装MongoDB的服务器端和客户端工具
- 1.安装服务器端:
- [root@vm ~]# yum install mongo-10gen-server
- [root@vm ~]# ls /usr/bin/mongo(tab键)
- mongo mongod mongodump mongoexport mongofiles mongoimport mongorestore mongos mongostat
- -----------------------------------------------
- 这些就是MongoDB的程序文件
- 因为mongo-10gen-server包依赖于mongo-10gen,所以安装了服务器后就不需要单独安装客户端工具包mongo-10gen了
- 2.单独安装可客户端:
- [root@vm ~]# yum install mongo-10gen
- 3.检查
- [root@vm ~]# /etc/init.d/mongod
- Usage: /etc/init.d/mongod {start|stop|status|restart|reload|force-reload|condrestart}
- [root@vm ~]# /etc/init.d/mongod status
- mongod (pid 1341) is running...
- [root@vm ~]#
- 说明安后服务器端已经在运行了
- 4.服务器配置: /etc/mongod.conf
- [root@vm ~]# cat /etc/mongod.conf
- # mongo.conf
- #where to log
- logpath=/var/log/mongo/mongod.log
- logappend=true #以追加方式写入日志
- # fork and run in background
- fork = true
- #port = 27017 #端口
- dbpath=/var/lib/mongo #数据库文件保存位置
- # Enables periodic logging of CPU utilization and I/O wait
- #启用定期记录CPU利用率和 I/O 等待
- #cpu = true
- # Turn on/off security. Off is currently the default
- # 是否以安全认证方式运行,默认是不认证的非安全方式
- #noauth = true
- #auth = true
- # Verbose logging output.
- # 详细记录输出
- #verbose = true
- # Inspect all client data for validity on receipt (useful for
- # developing drivers)用于开发驱动程序时的检查客户端接收数据的有效性
- #objcheck = true
- # Enable db quota management 启用数据库配额管理,默认每个db可以有8个文件,可以用quotaFiles参数设置
- #quota = true
- # 设置oplog记录等级
- # Set oplogging level where n is
- # 0=off (default)
- # 1=W
- # 2=R
- # 3=both
- # 7=W+some reads
- #oplog = 0
- # Diagnostic/debugging option 动态调试项
- #nocursors = true
- # Ignore query hints 忽略查询提示
- #nohints = true
- # 禁用http界面,默认为localhost:28017
- # Disable the HTTP interface (Defaults to localhost:27018).这个端口号写的是错的
- #nohttpinterface = true
- # 关闭服务器端脚本,这将极大的限制功能
- # Turns off server-side scripting. This will result in greatly limited
- # functionality
- #noscripting = true
- # 关闭扫描表,任何查询将会是扫描失败
- # Turns off table scans. Any query that would do a table scan fails.
- #notablescan = true
- # 关闭数据文件预分配
- # Disable data file preallocation.
- #noprealloc = true
- # 为新数据库指定.ns文件的大小,单位:MB
- # Specify .ns file size for new databases.
- # nssize = <size>
- # Accout token for Mongo monitoring server.
- #mms-token = <token>
- # mongo监控服务器的名称
- # Server name for Mongo monitoring server.
- #mms-name = <server-name>
- # mongo监控服务器的ping 间隔
- # Ping interval for Mongo monitoring server.
- #mms-interval = <seconds>
- # Replication Options 复制选项
- # in replicated mongo databases, specify here whether this is a slave or master 在复制中,指定当前是从属关系
- #slave = true
- #source = master.example.com
- # Slave only: specify a single database to replicate
- #only = master.example.com
- # or
- #master = true
- #source = slave.example.com
- [root@vm ~]#
- 以上是默认的配置文件中的一些参数,更多参数可以用 mongod -h 命令来查看
- [root@vm ~]# mongod -h
- Allowed options:
- General options:
- -h [ --help ] show this usage information
- --version show version information
- -f [ --config ] arg configuration file specifying additional options 指定启动配置文件路径
- -v [ --verbose ] be more verbose (include multiple times for more
- verbosity e.g. -vvvvv)
- --quiet quieter output
- --port arg specify port number 端口
- --bind_ip arg comma separated list of ip addresses to listen on -
- all local ips by default 绑定ip,可以多个
- --maxConns arg max number of simultaneous connections 最大并发连接数
- --logpath arg log file to send write to instead of stdout - has to
- be a file, not directory 日志文件路径
- --logappend append to logpath instead of over-writing 日志写入方式
- --pidfilepath arg full path to pidfile (if not set, no pidfile is
- created) pid文件路径
- --keyFile arg private key for cluster authentication (only for
- replica sets)集群认证私钥,仅适用于副本集
- --unixSocketPrefix arg alternative directory for UNIX domain sockets
- (defaults to /tmp)替代目录
- --fork fork server process
- --auth run with security 使用认证方式运行
- --cpu periodically show cpu and iowait utilization 定期显示的CPU和IO等待利用率
- --dbpath arg directory for datafiles 数据库文件路径
- --diaglog arg 0=off 1=W 2=R 3=both 7=W+some reads oplog记录等级
- --directoryperdb each database will be stored in a separate directory
- 每个数据库存储到单独目录
- --journal enable journaling 记录日志,建议开启,在异常宕机时可以恢复一些数据
- --journalOptions arg journal diagnostic options
- --ipv6 enable IPv6 support (disabled by default)
- --jsonp allow JSONP access via http (has security
- implications)允许JSONP通过http访问,该方式存在安全隐患
- --noauth run without security 不带安全认证的方式
- --nohttpinterface disable http interface 禁用http接口
- --noprealloc disable data file preallocation - will often hurt
- performance 禁用数据文件的预分配,往往会损害性能
- --noscripting disable scripting engine 禁用脚本引擎
- --notablescan do not allow table scans 不允许表扫描
- --nounixsocket disable listening on unix sockets禁止unix sockets监听
- --nssize arg (=16) .ns file size (in MB) for new databases 为新数据设置.ns文件的大小
- --objcheck inspect client data for validity on receipt 检查在收到客户端的数据的有效性
- --profile arg 0=off 1=slow, 2=all
- --quota limits each database to a certain number of files (8
- default)启用数据库配额管理,默认每个db可以有8个文件,可以用quotaFiles参数设置
- --quotaFiles arg number of files allower per db, requires --quota
- --rest turn on simple rest api 开启rest api
- --repair run repair on all dbs 修复所有数据库
- --repairpath arg root directory for repair files - defaults to dbpath修复文件的根目录,默
- 认为dbpath指定的目录
- --slowms arg (=100) value of slow for profile and console log
- --smallfiles use a smaller default file size
- --syncdelay arg (=60) seconds between disk syncs (0=never, but not
- recommended)与硬盘同步数据的时间,默认60秒,0表示不同步到硬盘(不建议)
- --sysinfo print some diagnostic system information打印一些诊断系统信息
- --upgrade upgrade db if needed 如果必要,将数据库文件升级到新的格式
- (<=1.0到1.1+升级时所需的)
- Replication options: 复制选项
- --fastsync indicate that this instance is starting from a dbpath
- snapshot of the repl peer 从一个dbpath快照开始同步
- --autoresync automatically resync if slave data is stale 自动同步,如果从机的数据不是新的
- 自动同步
- --oplogSize arg size limit (in MB) for op log oplog的大小
- Master/slave options: 主/从配置选项
- --master master mode 主模式
- --slave slave mode 从属模式
- --source arg when slave: specify master as <server:port>从属服务器上指定主服务器地址
- --only arg when slave: specify a single database to replicate从属服务器上指定要复制的
- 数据库
- --slavedelay arg specify delay (in seconds) to be used when applying
- master ops to slave 指定从主服务器上同步数据的时间间隔 单位秒
- Replica set options: 副本集选项
- --replSet arg arg is <setname>[/<optionalseedhostlist>]
- 参数:<名称>[<种子主机列表>]
- Sharding options: 分片设置选项
- --configsvr declare this is a config db of a cluster; default port
- 27019; default dir /data/configdb 声明这是一个集群的配置数据库,
- 默认的端口是27019 默认的路径是/data/configdb
- --shardsvr declare this is a shard db of a cluster; default port
- 27018 声明这是集群的一个分片数据库,默认端口为27018
- --noMoveParanoia turn off paranoid saving of data for moveChunk. this
- is on by default for now, but default will switch
- 关闭偏着保存大块数据。现在它是默认的,但是会变换
- [root@vm ~]#
Linux下的Mongodb的安装和配置
最新推荐文章于 2024-07-25 20:46:35 发布