Running mongodb on ubuntu 16.04 LTS
sudo initctl start mongodNão resultou. Alguém sabe como resolver isto?
4 answers
Qualquer pessoa que actualize ou instale o Ubuntu 16.04 ( também conhecido como Ubuntu Xenial xerus ) notou que alguns dos antigos serviços deixaram de funcionar. Esta edição é conhecida a partir da versão 15.04, mas eu vou focar na versão acima.
Esse era o meu caso com o MongoDB. Para fazer uma longa história, resumindo, Ubuntu mudou do início para systemd. Uma solução comum, para estes problemas, é voltar ao início. Não considero essa opção uma verdadeira solução, muito menos a longo prazo.Uma solução real (IMHO) para o problema é escrever script systemd que irá iniciar o MongodDB. Infelizmente, os MongoDB ainda não tinham um.
Então tive de escrever uma do zero. Para criar um de seus próprios siga estes passos:- mudar para o root usando
sudo su
Ou usar o sudo para todos os passos seguintes.
-
Crie um script de Serviço (neste exemplo o nome do serviço é Mongodb)
nano /lib/systemd/system/mongodb.service
-
Ficheiro o conteúdo deve ser
[Unit] Description=MongoDB Database Service Wants=network.target After=network.target [Service] ExecStart=/usr/bin/mongod --config /etc/mongod.conf ExecReload=/bin/kill -HUP $MAINPID Restart=always User=mongodb Group=mongodb StandardOutput=syslog StandardError=syslog [Install] WantedBy=multi-user.target
Você também pode baixar o arquivo a partir daqui:
Mongodb.serviço
Aqui está uma descrição rápida dos campos importantes:
Executart - é o comando a executar. Mongo instala-se em /usr / bin e o ficheiro de configuração é escrito em /etc
utilizador - o uid do processo mongod.
Grupo - a IDG do processo mongod. Note que o utilizador e o grupo são criados pelo instalacao.
sudo systemctl start mongodb
Para parar a utilização do serviço mongodb:
sudo systemctl stop mongodb
Para activar o mongodb no arranque
sudo systemctl enable mongodb.service
Se precisar de actualizar os Serviços use:
sudo systemctl daemon-reload
MongoDB
em Ubuntu 16.04.x
, Execute os comandos da seguinte forma::$ sudo systemctl enable mongod.service
$ sudo systemctl daemon-reload
Agora o mais provável mongod
começa em cada arranque automaticamente.
Esta solução também funciona em caso de obter este erro:
Não foi possível iniciar mongod.serviço: unidade mongod.serviço não encontrado.
Depois de executar os comandos acima, os comandos abaixo começam a trabalho:
$ sudo service mongod start
$ mongo
Da mesma forma, todos os serviços instalados devem poder ser executados. Por exemplo, após a instalação do Ops Manager (também conhecido como MMS), a documentação diz para executar o commend abaixo.
$ Sudo systemctl iniciar mongodb-mms.serviço
O mais provável é que o Ubuntu não inicie o serviço. Porque ainda não está ativado. Para activar, basta executar o comando abaixo:
$ sudo systemctl enable mongodb-mms.service
$ sudo systemctl daemon-reload
Depois tente iniciar o serviço:
$ sudo systemctl enable mongodb-mms.service
É tudo...
Para Pessoas Que Querem Uma Instalação Nova
Tenho lutado com isto há uma hora. Depois encontrei esta página. Instalar é tão fácil como fazer:sudo apt-get update
sudo apt-get install mongodb
Depois verificar se tudo funciona:
sudo service mongodb status
Os pacotes dos 3. 2+ contêm programas de arranque.
Primeiro, siga as instruções oficiais para instalar:
# If you installed the ubuntu package, remove it, if not skip to key import
sudo apt-get remove mongodb
sudo apt-get autoremove
# import key
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv EA312927
# add trusty repos
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
# update apt
sudo apt-get update
# install the package
sudo apt-get install -y mongodb-org
Depois desmascarar a tarefa mongodb.service
(e activá-la e iniciá-la). Acredito que foi Mascarado porque o pacote inclui um trabalho inicial também, então você não iria querer que ambos começassem. No nosso caso, porém, é claramente isso que queremos.
sudo systemctl unmask mongodb
sudo service mongodb enable
sudo service mongodb start
Referências: