无法启动蒙戈 – 蒙戈遇害

我尝试使用新的LXD容器将Mongo安装从14.04迁移到16.04。

我使用了以前的configuration文件,可以在下面find。

mongod.cnf

# mongod.conf # for documentation of all options, see: # http://docs.mongodb.org/manual/reference/configuration-options/ # Where and how to store data. storage: dbPath: /home/manager/mongo/data # engine: # mmapv1: # smallFiles: true # where to write logging data. systemLog: destination: file logAppend: true path: /home/manager/mongo/log/mongod.log # network interfaces net: port: 27031 bindIp: 127.0.0.1 processManagement: fork: true setParameter: enableLocalhostAuthBypass: false security: keyFile: /home/manager/mongo/mongodb-keyfile #operationProfiling: #replication: # replSetName: rs1 #sharding: ## Enterprise-Only Options: #auditLog: #snmp: 

这是我的开始服务:

 [Unit] Description=High-performance, schema-free document-oriented database After=network.target [Service] User=manager ExecStart=/usr/bin/mongod --quiet --config /home/manager/mongo/mongod.conf [Install] WantedBy=multi-user.target 

这里是我在日志文件中得到的错误:

 2016-06-03T10:39:30.657+0000 I CONTROL [initandlisten] MongoDB starting : pid=807 port=27031 dbpath=/home/manager/mongo/data 64-bit host=mongo-rep-01 2016-06-03T10:39:30.657+0000 I CONTROL [initandlisten] db version v3.2.6 2016-06-03T10:39:30.657+0000 I CONTROL [initandlisten] git version: 05552b562c7a0b3143a729aaa0838e558dc49b25 2016-06-03T10:39:30.657+0000 I CONTROL [initandlisten] OpenSSL version: OpenSSL 1.0.2g-fips 1 Mar 2016 2016-06-03T10:39:30.657+0000 I CONTROL [initandlisten] allocator: tcmalloc 2016-06-03T10:39:30.657+0000 I CONTROL [initandlisten] modules: none 2016-06-03T10:39:30.657+0000 I CONTROL [initandlisten] build environment: 2016-06-03T10:39:30.657+0000 I CONTROL [initandlisten] distmod: ubuntu1404 2016-06-03T10:39:30.657+0000 I CONTROL [initandlisten] distarch: x86_64 2016-06-03T10:39:30.657+0000 I CONTROL [initandlisten] target_arch: x86_64 2016-06-03T10:39:30.657+0000 I CONTROL [initandlisten] options: { config: "/home/manager/mongo/mongod.conf", net: { bindIp: "127.0.0.1", port: 27031 }, processManagement: { fork: true }, security: { keyFile: "/home/manager/mongo/mongodb-keyfile" }, setParameter: { e$ 2016-06-03T10:39:30.688+0000 I STORAGE [initandlisten] wiredtiger_open config: create,cache_size=18G,session_max=20000,eviction=(threads_max=4),config_base=false,statistics=(fast),log=(enabled=true,archive=true,path=journal,compressor=snappy),file_manager=(close_idl$ 2016-06-03T10:39:31.174+0000 I CONTROL [initandlisten] 2016-06-03T10:39:31.175+0000 I CONTROL [initandlisten] ** WARNING: /sys/kernel/mm/transparent_hugepage/enabled is 'always'. 2016-06-03T10:39:31.175+0000 I CONTROL [initandlisten] ** We suggest setting it to 'never' 2016-06-03T10:39:31.175+0000 I CONTROL [initandlisten] 2016-06-03T10:39:31.175+0000 I CONTROL [initandlisten] ** WARNING: /sys/kernel/mm/transparent_hugepage/defrag is 'always'. 2016-06-03T10:39:31.175+0000 I CONTROL [initandlisten] ** We suggest setting it to 'never' 2016-06-03T10:39:31.175+0000 I CONTROL [initandlisten] 2016-06-03T10:39:31.177+0000 I FTDC [initandlisten] Initializing full-time diagnostic data capture with directory '/home/manager/mongo/data/diagnostic.data' 2016-06-03T10:39:31.177+0000 I NETWORK [HostnameCanonicalizationWorker] Starting hostname canonicalization worker 2016-06-03T10:39:31.178+0000 I CONTROL [signalProcessingThread] got signal 15 (Terminated), will terminate after current cmd ends 2016-06-03T10:39:31.178+0000 I FTDC [signalProcessingThread] Shutting down full-time diagnostic data capture 2016-06-03T10:39:31.185+0000 I NETWORK [initandlisten] waiting for connections on port 27031 2016-06-03T10:39:31.185+0000 I CONTROL [signalProcessingThread] now exiting 2016-06-03T10:39:31.185+0000 I NETWORK [signalProcessingThread] shutdown: going to close listening sockets... 2016-06-03T10:39:31.185+0000 I NETWORK [signalProcessingThread] closing listening socket: 6 2016-06-03T10:39:31.185+0000 I NETWORK [signalProcessingThread] closing listening socket: 7 2016-06-03T10:39:31.186+0000 I NETWORK [signalProcessingThread] removing socket file: /tmp/mongodb-27031.sock 2016-06-03T10:39:31.186+0000 I NETWORK [signalProcessingThread] shutdown: going to flush diaglog... 2016-06-03T10:39:31.186+0000 I NETWORK [signalProcessingThread] shutdown: going to close sockets... 2016-06-03T10:39:31.186+0000 I STORAGE [signalProcessingThread] WiredTigerKVEngine shutting down 2016-06-03T10:39:32.336+0000 I STORAGE [signalProcessingThread] shutdown: removing fs lock... 2016-06-03T10:39:32.336+0000 I CONTROL [signalProcessingThread] dbexit: rc: 0 

和服务的状态:

 root@mongo-rep-01:/home/manager/mongo# sudo systemctl status mongodb ● mongodb.service - High-performance, schema-free document-oriented database Loaded: loaded (/etc/systemd/system/mongodb.service; disabled; vendor preset: enabled) Active: inactive (dead) Jun 03 10:17:17 mongo-rep-01 systemd[1]: Started High-performance, schema-free document-oriented database. Jun 03 10:17:17 mongo-rep-01 mongod[643]: 2016-06-03T10:17:17.858+0000 W CONTROL [main] Option: storage.smallFiles is deprecated. Please use storage.mmapv1.smallFiles instead. Jun 03 10:17:17 mongo-rep-01 mongod[643]: about to fork child process, waiting until server is ready for connections. Jun 03 10:17:17 mongo-rep-01 mongod[643]: forked process: 645 Jun 03 10:18:26 mongo-rep-01 systemd[1]: Started High-performance, schema-free document-oriented database. Jun 03 10:18:26 mongo-rep-01 mongod[672]: about to fork child process, waiting until server is ready for connections. Jun 03 10:18:26 mongo-rep-01 mongod[672]: forked process: 674 Jun 03 10:39:30 mongo-rep-01 systemd[1]: Started High-performance, schema-free document-oriented database. Jun 03 10:39:30 mongo-rep-01 mongod[805]: about to fork child process, waiting until server is ready for connections. Jun 03 10:39:30 mongo-rep-01 mongod[805]: forked process: 807 

基于我在这里find的信息:

https://askubuntu.com/questions/787136/debugging-systemd-for-mongodb-3-2-on-ubuntu-16-04-sig-15-killing

系统似乎是日志文件中指出的“sig 15”终止的来源。

这可以在服务定义中通过指示进程是分叉types来解决:

 [Unit] Description=High-performance, schema-free document-oriented database After=network.target [Service] Type=forking User=manager ExecStart=/usr/bin/mongod --quiet --config /etc/mongod.conf [Install] WantedBy=multi-user.target 

或者,尝试更改mongo.conf文件中的processManagement值:

 processManagement: fork: false