作者:容易    2013-07-24


七、安装后的目录结构

bin  include  lib

其中lib,include包含了库文件和头文件

bin目录包含了以下可执行文件

bsondump  mongodump    mongoimport  mongorestore  mongotop

mongo     mongoexport  mongooplog   mongos

mongod    mongofiles   mongoperf    mongostat


a)可执行文件介绍

bsondump  将bson格式的文件转储为json格式的数据

mongodump\mongorestore  将数据导出为bson格式的文件/将bson文件恢复为数据库

mongoimport\mongoexport将collection导出为json/csv格式数据/将数据导入数据库,类似mysqldump/mysqlimport

mongofiles  GridFS管理工具

mongotop\mongostat  实时监控工具

mongod 数据库服务端,类似mysqld,每个实例启动一个进程,可以fork为Daemon运行

mongos 分片路由,如果使用了sharding功能,则应用程序连接的是mongos而不是mongod

mongo 客户端命令行工具,类似sqlplus/mysql,其实也是一个js解释器,支持js语法

mongooplog  is a simple tool that polls operations from the replication oplog of a remote server, and applies them to the local server

mongoperf  是一个测试磁盘IO性能的工具 例如( echo "{nThreads:32,fileSizeMB:1000,r:true}" | mongoperf)



mongod 服务器配置参数介绍


Allowed options:


General options:

 -h [ --help ]               显示帮助

 --version                   显示版本

 -f [ --config ] arg         指定配置文件的路径

 -v [ --verbose ]            显示详细信息 更详细的(包括多次获得更多的详细程度,比如 -vvvvv)

 --quiet                     是否为后台程序,默认不是

 --port arg                 指定端口号 默认27017

 --bind_ip arg               指定绑定的ip默认绑定本机所以IP

 --maxConns arg              并发连接数默认 20000

 --logpath arg               指定日志文件的路径,备注必须指定到日志文件名,而非目录

 --logappend                日志附加默认,否则会覆盖原有日志 默认是false,覆盖模式的,建议设置为true

 --pidfilepath arg           PID文件的具体路径,如果不指定将不创建PID文件,可以知道MDB的进程ID

 --keyFile arg               为集群指定私钥认证(仅对副本集有?)

 --setParameter arg          Set a configurable parameter(启动某些特殊的功能集)

 --nounixsocket              disable listening on unix sockets(关闭unixsocket文件)

 --unixSocketPrefix arg      alternative directory for UNIX domain sockets  (defaults to /tmp)(指定socket文件的路径默认/tmp)                            

 --fork                      fork server process  (启动为守护进程)

 --syslog                    log to system's syslog facility instead of file  or stdout(支持syslog)

 --auth                      run with security(是否开启安全认证)

 --cpu                       periodically show cpu and iowait utilization(周期性的显示cpu和io的使用情况)

 --dbpath arg                directory for datafiles - defaults to /data/db/ (设置数据文件的目录,默认/data/db/)

 --diaglog arg               0=off 1=W 2=R 3=both 7=W+some reads (提供的方式,是只读,只写,还是读写都行,还是主要写+部分的读模式)

 --directoryperdb            each database will be stored in a separate directory (每个数据库将被存放在独立的目录)

 --ipv6                      enable IPv6 support (disabled by default)(启动IPV6默认关闭)

 --journal                   enable journaling(启动数据更新日志,默认启动)

 --journalCommitInterval arg how often to group/batch commit (ms)(日志提交间隔,该间隔决定了数据完整性)

 --journalOptions arg        journal diagnostic options(日志诊断选择)

 --jsonp                     allow JSONP access via http (has security implications)  允许JSONP通过HTTP访问(有安全隐患)

 --noauth                    run without security 运行在非安全模式下,不需要授权即可操作

 --nohttpinterface           disable http interface  关闭http接口,默认是28017

 --nojournal                 disable journaling (journaling is on by default for 64 bit)关闭日志64位系统默认开启

 --noprealloc                disable data file preallocation - will often hurt  performance  关闭数据文件预分配,可以节省空间但是会影响性能

 --noscripting               disable scripting engine 关闭脚本引擎

 --notablescan               do not allow table scans  关闭表扫描

 --nssize arg (=16)          .ns file size (in MB) for new databases   为新库指定.ns file 的大小

 --profile arg               0=off 1=slow, 2=all  慢查询记录0 不开启,1慢查询,2 全部(0表示关闭profile,1表示只记录执行时间超过slowms配置的值的执行内容,2表示记录所有执行内容)

 --quota                     limits each database to a certain number of files  (8 default)限制某个数据库的文件数,默认为8                      

 --quotaFiles arg            number of files allowed per db, requires --quota 指定每个数据库允许创建的文件数必须与quota一起使用

 --repair                    run repair on all dbs    启动时修复所有数据库

 --repairpath arg            root directory for repair files - defaults to dbpath  指定修复文件的根目录,默认为dbpath

 --rest                      turn on simple rest api  开启简单的rest API

 --shutdown                  kill a running server (for init scripts)  关闭一个运行的数据库

 --slowms arg (=100)         value of slow for profile and console log   如果profile配置为1并且没有配置slowms的话默认是100毫秒

 --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  升级DB,如果需要的话


Replication options:  复制选项

 --oplogSize arg       size to use (in MB) for replication op log. default is 5% of disk space (i.e. large is good)操作日志的大小(单位:MB) 默认为%5的磁盘空间,越大越好


Master/slave options (old; use replica sets instead):(主从选择,已经被replica sets替代)

 --master              master mode  运行为主节点

 --slave               slave mode  运行为从属节点

 --source arg          when slave: specify master as <server:port> 当为从结点时:指定主结点的位置<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  指定从节点同步主节点oplog的延迟(单位:秒)

 --autoresync          automatically resync if slave data is stale  如果从节点数据过期,自动重新同步主节点数据。


Replica set options:  副本集选项

 --replSet arg           arg is <setname>[/<optionalseedhostlist>] 设置副本集名称

 --replIndexPrefetch arg specify index prefetching behavior (if secondary)  

                         [none|_id_only|all]


Sharding options:

 --configsvr           declare this is a config db of a cluster; default port   声明这是集群中的配置数据库,默认端口27019,默认目录/data/configdb

                       27019; default dir /data/configdb

 --shardsvr            declare this is a shard db of a cluster; default port 27018  声明这是一个集群的分片服务器;默认端: 27018


八、启动mdb

a)首先创建相关目录,db目录存放数据库,etc存放文件,log存放日志,tmp存放pid文件和uninxsock文件

mkdir db

mkdir etc

mkdir log

mkdir tmp

如下

root@centos6 mongodb]# ls

bin  db  etc  include  lib  log  tmp


b)在etc目录下创建mdb.conf文件

[root@centos6 etc]# cat mdb.conf

logpath=/opt/mongodb/log/mdb.log

logappend=true

pidfilepath=/opt/mongodb/tmp/mdb.pid

unixSocketPrefix=/opt/mongodb/tmp/

fork=true

dbpath=/opt/mongodb/db/

directoryperdb=true

nssize=32

profile=1

slowms=50

syncdelay=30

maxConns=4000

journalCommitInterval=100

c)启动mdb

[root@centos6 etc]# /opt/mongodb/bin/mongod -f /opt/mongodb/etc/mdb.conf

about to fork child process, waiting until server is ready for connections.

forked process: 26858

all output going to: /opt/mongodb/log/mdb.log

child process started successfully, parent exiting

d)查看网络监听端口

[root@centos6 tmp]# netstat -tln

Active Internet connections (only servers)

Proto Recv-Q Send-Q Local Address               Foreign Address             State      

tcp        0      0 0.0.0.0:28017               0.0.0.0:*                   LISTEN        

tcp        0      0 0.0.0.0:27017               0.0.0.0:*                   LISTEN      

e)查看db目录

[root@centos6 db]# ls

journal  local  mongod.lock  test

f)查看进程

cat tmp/mdb.pid   确认进程ID

top -p pid

26858 root      20   0  492m  36m 5176 S  0.3  0.5   0:03.15 /opt/mongodb/bin/mongod -f /opt/mongodb/etc/mdb.conf

g)关闭mdb

/opt/mongodb/bin/mongod -f /opt/mongodb/etc/mdb.conf --shutdown

killing process with pid: 26858


One Response


    还没有评论!
1  

Leave your comment

请留下您的姓名(*)

请输入正确的邮箱地址(*)

请输入你的评论(*)


感谢开源 © 2016. All rights reserved.&3Q Open Source&^_^赣ICP备15012863号-1^_^
乐于分享共同进步 KreativeThemes