时间:2021-07-01 10:21:17 帮助过:17人阅读
2017-07-06T16:03:09.703+0800 I STORAGE [initandlisten] exception in initAndListen: 98 Unable to lock file: mongodb/0706/mongod.lock Resource temporarily unavailable. Is a mongod instance already running?, terminating--port: 指定服务器监听的端口号。默认端口号为27017,要是运行多个mongod,必须指定不同的端口号 若有一个27017的端口已经使用了,那么如果启动第二个mongod的时候,若还指定27017的话,会报错:
2017-07-06T16:13:07.215+0800 E NETWORK [initandlisten] listen(): bind() failed Address already in use for socket: 0.0.0.0:27017--fork: 以守护进程的方式运行MongoDB,创建服务进程,相当于nohup ... &
nohup mongodb/bin/mongod --dbpath mongodb/0706 &
与
mongodb/bin/mongod --dbpath mongodb/0706 --fork
一样的效果
--logpath:
指定输出日志的路径,而不是输出到命令行。如果对文件夹有写权限的话,系统会在文件不存在时创建它。它将会已有文件覆盖掉,清除原来所有的日志记录。如果想保留原来的日志,还需要使用--logappend
--config:
指定配置文件,加载命令行未指定的各种选项
--directoryperdb:> use local switched to db local > db.startup_log.findOne() { "_id" : "vst2-1499343744092", "hostname" : "vst2", "startTime" : ISODate("2017-07-06T12:22:24Z"), "startTimeLocal" : "Thu Jul 6 20:22:24.092", "cmdLine" : { "storage" : { "dbPath" : "mongodb/0707", "directoryPerDB" : true } }, "pid" : NumberLong(15613), "buildinfo" : { "version" : "3.4.5", "gitVersion" : "520b8f3092c48d934f0cd78ab5f40fe594f96863", "modules" : [ ], "allocator" : "tcmalloc", "javascriptEngine" : "mozjs", "sysInfo" : "deprecated", "versionArray" : [ 3, 4, 5, 0 ], "openssl" : { "running" : "OpenSSL 1.0.1f 6 Jan 2014", "compiled" : "OpenSSL 1.0.1f 6 Jan 2014" }, "buildEnvironment" : { "distmod" : "ubuntu1404", "distarch" : "x86_64", "cc" : "/opt/mongodbtoolchain/v2/bin/gcc: gcc (GCC) 5.4.0", "ccflags" : "-fno-omit-frame-pointer -fno-strict-aliasing -ggdb -pthread -Wall -Wsign-compare -Wno-unknown-pragmas -Winvalid-pch -Werror -O2 -Wno-unused-local-typedefs -Wno-unused-function -Wno-deprecated-declarations -Wno-unused-but-set-variable -Wno-missing-braces -fstack-protector-strong -fno-builtin-memcmp", "cxx" : "/opt/mongodbtoolchain/v2/bin/g++: g++ (GCC) 5.4.0", "cxxflags" : "-Woverloaded-virtual -Wno-maybe-uninitialized -std=c++11", "linkflags" : "-pthread -Wl,-z,now -rdynamic -Wl,--fatal-warnings -fstack-protector-strong -fuse-ld=gold -Wl,--build-id -Wl,-z,noexecstack -Wl,--warn-execstack -Wl,-z,relro", "target_arch" : "x86_64", "target_os" : "linux" }, "bits" : 64, "debug" : false, "maxBsonObjectSize" : 16777216, "storageEngines" : [ "devnull", "ephemeralForTest", "mmapv1", "wiredTiger" ] } }
默认情况下,启动mongod时还会启动一个基本的HTTP服务器,该服务器监听的端口号比主服务的端口号大1000。这个服务提供了HTTP接口,可以查看Mongodb的一些基本信息。这些信息也可以通过shell来查看。比如说你启动的是默认端口27017,那么在浏览器打开http://10.0.0.13:28017 但是你打开的时候可能没有,因为默认管理接口是关闭的,所以在启动的时候加上开启管理接口参数--httpinterface,也就是 mongodb/bin/mongod --dbpath mongodb/0706 --fork --logpath 0706.log --httpinterface
> use admin; switched to db admin > db.shutdownServer(); server should be down...
在主节点(primary)上运行shutdown命令时,服务器在关闭之前,会先等待备份节点追赶主节点以保持同步。这将回滚的可能性降至最低,但shutdown操作有失败的可能性。如几秒钟内没有备份节点成功同步,则shutdown操作失败,主节点不会停止运行。 3:日志 在启动mongod的时候,可以指定日志的级别,即(-v、-vv、-vvv、-vvvv、-vvvvv)或者在shell命令行执行命令修改
mongodb/bin/mongod --dbpath mongodb/0707 --directoryperdb --fork -vvv
日志级别越大,输出的日志越详细,调至5时,这时mongod会在日志中记录几乎所有的操作,包括每一个请求所处理的内容。
MongoDB默认记录耗时超过100毫秒的查询信息。如果100毫秒不适合需求,可以通过setProfilingLevel命令来改变,下面这条命令表示记录查询时间超过500毫秒的消息
> db.setProfilingLevel(1,500) { "was" : 0, "slowms" : 100, "ok" : 1 }如果想要日志分割,如按天存放,有两种方法 方法一:每天定时的执行kill -USR1 进程号,这样就可以看到,每执行一次kill -USR1 进程号,那么就会重新生成一个日志文件 方法二:在MongoDB的shell行执行,每执行一次都会产生一个新的日志文件
> db.adminCommand({"logRotate":1}) { "ok" : 1 }要使分割日志生效,必须启动的时候使用--logpath,然后可以根据自己的需求,写shell或python脚本,然后crontab做成定时任务
MongoDB的启动与停止
标签:arc version pen tool chain name level mongo fuse