2016-01-05 60 views
0

我试图安装和MongoDB本地启动:的MongoDB没有启动的Ubuntu 14.04

我经过这些步骤(如历史所示):

1819 sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv  7F0CEB10 
1820 echo "deb http://repo.mongodb.org/apt/ubuntu trusty/mongodb-org/3.2 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.2.list 
1821 sudo apt-get update 
1822 sudo apt-get install -y mongodb-org 
1823 sudo service mongod start 

,但我得到了下面的错误日志中/var/log/mongodb/mongodb.log

2016-01-05T22:51:21.869+0000 I CONTROL [main] ***** SERVER RESTARTED ***** 
2016-01-05T22:51:21.874+0000 I CONTROL [initandlisten] MongoDB starting : pid=5394 port=27017 dbpath=/var/lib/mongodb 64-bit host=ip-172-31-45-129 
2016-01-05T22:51:21.874+0000 I CONTROL [initandlisten] db version v3.2.0 
2016-01-05T22:51:21.874+0000 I CONTROL [initandlisten] git version: 45d947729a0315accb6d4f15a6b06be6d9c19fe7 
2016-01-05T22:51:21.874+0000 I CONTROL [initandlisten] OpenSSL version: OpenSSL 1.0.1f 6 Jan 2014 
2016-01-05T22:51:21.874+0000 I CONTROL [initandlisten] allocator: tcmalloc 
2016-01-05T22:51:21.874+0000 I CONTROL [initandlisten] modules: none 
2016-01-05T22:51:21.874+0000 I CONTROL [initandlisten] build environment: 
2016-01-05T22:51:21.874+0000 I CONTROL [initandlisten]  distmod: ubuntu1404 
2016-01-05T22:51:21.874+0000 I CONTROL [initandlisten]  distarch: x86_64 
2016-01-05T22:51:21.874+0000 I CONTROL [initandlisten]  target_arch: x86_64 
2016-01-05T22:51:21.874+0000 I CONTROL [initandlisten] options: { config: "/etc/mongodb.conf", net: { bindIp: "127.0.0.1" }, storage: { dbPath: "/var/lib/mongodb", journal: { enabled: true } }, systemLog: { destination: "file", logAppend: true, path: "/var/log/mongodb/mongodb.log" } } 
2016-01-05T22:51:21.895+0000 E NETWORK [initandlisten] Failed to unlink socket file /tmp/mongodb-27017.sock errno:1 Operation not permitted 
2016-01-05T22:51:21.895+0000 I -  [initandlisten] Fatal Assertion 28578 
2016-01-05T22:51:21.895+0000 I -  [initandlisten] 

***aborting after fassert() failure 

我以前有一个安装的mongodb后就正常了,但是不让我连接到它,我要使用MongoDB的其他服务做了一些修改之后。所以我试图删除那个MongoDB的实例并尝试重新安装,之后我正面临这个问题。

我也尝试寻找文件:/tmp/mongodb-27017.sock但它不存在于我的系统上。

+0

我知道你说你找不到'.sock'文件,但我已经开始之前的MongoDB运行'须藤RM/tmp目录/ MongoDB的-27017.sock'每次,也许试试这个? – tospig

+0

我删除了该文件,但后来遇到空间不足的问题。我正在编辑我的问题 – newenthusiast

+0

我也有这个问题 - 必须更改数据存储在conf文件中的路径。类似[此博客文章](https://rohan-paul.github.io/mongodb_in_ubuntu/2015/09/03/How_to_Install_MongoDB_Iin_Ubuntu-15.04.html) – tospig

回答

2

我以同样的方式安装MongoDB后也遇到了同样的问题,还收到错误消息'无法解除套接字文件/tmp/mongodb-27017.sock ...'的连接。

做多一点挖后,我意识到,安装还没有创建的路径/data/db,所以这里就是我所做的:

  1. 创建的完整路径(旗-p创建父文件夹,如果他们不“T存在)

    sudo mkdir -p /data/db 
    
  2. 递归改变文件夹/data/db的所有权的MongoDB

    sudo chown -R mongodb:mongodb /data/db 
    

编辑:如果你从不同的项目文件夹,您运行的MongoDB的不同实例,而不是MongoDB的规划,应该是的/data/db内容所有者,否则将会给你一个错误的类型的exception in initAndListen: 98 Unable to create/open lock file: /data/db/mongod.lock

  • 删除临时套接字文件

    sudo rm /tmp/mongodb-27017.sock 
    
  • 初始化该mongod的服务

    sudo service mongod start 
    
  • 此之后,它在我的系统运行流畅。我可以启动它或停止它,它不会给我任何更多的错误。

    希望这有助于:)