2016-09-21 49 views
2

服務,我想開始的mongod作爲在CentOS服務:MongoDB的3.2.9無法啓動爲在CentOS

mongod --version 
db version v3.2.9 
git version: 22ec9e93b40c85fc7cae7d56e7d6a02fd811088c 
OpenSSL version: OpenSSL 1.0.1e-fips 11 Feb 2013 
allocator: tcmalloc 
modules: none 
build environment: 
    distmod: rhel70 
    distarch: x86_64 
    target_arch: x86_64 

CentOS Linux release 7.2.1511 (Core) 

的/ etc/SELinux的/配置:

# This file controls the state of SELinux on the system. 
# SELINUX= can take one of these three values: 
#  enforcing - SELinux security policy is enforced. 
#  permissive - SELinux prints warnings instead of enforcing. 
#  disabled - No SELinux policy is loaded. 
SELINUX=disabled 
# SELINUXTYPE= can take one of three two values: 
#  targeted - Targeted processes are protected, 
#  minimum - Modification of targeted policy. Only selected processes are protected. 
#  mls - Multi Level Security protection. 
SELINUXTYPE=targeted 

的mongod。 CONF:

systemLog: 
    destination: file 
    path: "/mnt/log/mongod.log" 
    logAppend: true 
storage: 
    dbPath: "/mnt/data" 
    engine: wiredTiger 
    journal: 
     enabled: true 
processManagement: 
    fork: true 
    pidFilePath: "/var/run/mongodb/mongod.pid" 
net: 
    # bindIp: 127.0.0.1 
    port: 27017 
replication: 
    replSetName: XXXX 
security: 
    keyFile: "/usr/mongodb/mongodb-keyfile" 

問題狀態:

Starting mongod (via systemctl): Job for mongod.service failed because the control process exited with error code. See "systemctl status mongod.service" and "journalctl -xe" for details. 
                  [FAILED] 

journalctl -xe 
... 
Sep 20 13:10:55 ip-10-0-231-19.localdomain systemd[1]: Unit mongod.service entered failed state. 
Sep 20 13:10:55 ip-10-0-231-19.localdomain systemd[1]: mongod.service failed. 
Sep 20 13:10:55 ip-10-0-231-19.localdomain polkitd[9717]: Unregistered Authentication Agent for unix-process:26567:1630816 (system bus name :1.27, object path /org/freedesktop/PolicyKit1/AuthenticationAgent, locale en_US.UTF-8) (disconnected from bus) 
Sep 20 13:11:04 ip-10-0-231-19.localdomain sudo[26587]: centos : TTY=pts/1 ; PWD=/home/centos ; USER=root ; COMMAND=/bin/vi /etc/mongod.conf 

服務器開始使用:

sudo mongod -f /etc/mongod.conf 

我知道有關於類似的問題,但修復可能會在3.2.7已經可用,除了它是涉及到的場景時SELINUX =強制執行措施開了一個錯誤...

請支持。

回答

0

最近遇到類似的問題,但在FC26上;在這裏,問題可以追溯到SELINUX,特別是自定義dbPath目錄的權限。

嘗試很多事情之後,我發現下列順序幫助解決我的問題:

MONGODB_DATADIR=/mnt/data 

sudo chown -R mongodb:mongodb $MONGODB_DATADIR 
sudo chmod -R 700 $MONGODB_DATADIR 

SELinux的設置:

sudo semanage port -a -t mongod_port_t -p tcp 27017 

sudo semanage fcontext -a -t mongod_var_lib_t ${MONGODB_DATADIR} 
sudo semanage fcontext -a -t mongod_var_lib_t ${MONGODB_DATADIR}/mongod.lock 
sudo restorecon -v ${MONGODB_DATADIR} 

你可能還需要添加mongod_log_t到自定義日誌文件的位置,/mnt/log/mongod.log,我沒有在我的最後修改那個。