O MongoDB 2.6 não inicia no Ubuntu 15.04

51

Eu instalei o MongoDB 2.6 no Ubuntu 15.04 limpo e instalado:

sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 7F0CEB10
echo 'deb http://downloads-distro.mongodb.org/repo/ubuntu-upstart dist 10gen' | sudo tee /etc/apt/sources.list.d/mongodb.list
sudo apt-get update
sudo apt-get install -y mongodb-org

Terminou sem problemas. No entanto, quando tentei iniciá-lo, recebi o seguinte erro:

$ sudo service mongod start
Failed to start mongod.service: Unit mongod.service failed to load: No such file or directory.

Como posso corrigir isso?

    
por Akihiro HARAI 02.05.2015 / 00:10

13 respostas

65

Eu instalei a partir do repositório debian wheeze e ele funciona bem.

Primeiro, certifique-se de remover o pacote mongodb-org e todas as suas dependências:

sudo apt-get purge mongodb-org
sudo apt-get autoremove

Remova o antigo mongodb.list que você criou:

sudo rm /etc/apt/sources.list.d/mongodb.list

Use o repositório do Debian:

echo "deb http://repo.mongodb.org/apt/debian wheezy/mongodb-org/3.0 main" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.0.list

Atualize e instale novamente:

sudo apt-get update
sudo apt-get install -y mongodb-org

Depois disso, você pode com sucesso iniciar o servidor:

sudo service mongod start

ou

systemctl start mongod

(conforme esclarecido por Ernie Hershey em resposta ao comentário de Roman Gaufman aqui: link )

    
por Dielson Sales 09.05.2015 / 01:13
25

A equipe do MongoDB diz que não suportará o Ubuntu 15.04 e planeja oferecer suporte ao 16.04 (consulte link ) .

O Ubuntu 15.04 avança o sistema init padrão do Upstart para o systemd. Eu não tive sucesso iniciando o MongoDB 3.0 com o systemd.

Você pode voltar para o Upstart instalando upstart-sysv :

sudo apt-get install upstart-sysv

Em seguida, reinicie e o MongoDB deve estar ativo.

Espero encontrar uma maneira fácil de executar o MongoDB no Ubuntu 15.04 sem precisar voltar no tempo.

    
por Moshe Revah 02.05.2015 / 17:41
4

Você está instalando a partir dos pacotes publicados diretamente no mongodb.org. Você deve estar instalando a partir dos pacotes fornecidos no repositório do Ubuntu. Os pacotes Debian / Ubuntu foram corrigidos com unidades de serviço systemd, para preencher o buraco deixado por mongodb.org.

(Não há falta de mongodb.service arquivos unitários na WWW. Também não é difícil escrever um. Eu tenho.)

Especificamente: você encontrará tal unidade de serviço em o pacote mongodb-server versão 2.6 para o Ubuntu versão 15 . Então, basta instalar esse pacote.

(Note que as unidades de serviço fornecidas pelo Debian / Ubuntu não se aplicam o mongo directivas da unidade de serviço systemd recomendadas .)

Leitura adicional

por JdeBP 03.05.2015 / 23:37
4

Eu criei um script Systemd que parece funcionar para o Ubuntu 15.04+ e o Mongo 3.0 +:

[Unit]
Description=High-performance, schema-free document-oriented database
Documentation=man:mongod(1)
After=network.target

[Service]
Type=forking
User=mongodb
Group=mongodb
RuntimeDirectory=mongod
PIDFile=/var/run/mongod/mongod.pid
ExecStart=/usr/bin/mongod -f /etc/mongod.conf --pidfilepath /var/run/mongod/mongod.pid --fork
TimeoutStopSec=5
KillMode=mixed

[Install]
WantedBy=multi-user.target

link

Certifique-se de definir seu diretório de dados em /etc/mongod.conf

    
por benileo 03.11.2015 / 22:12
1

Esta não é a melhor resposta? De uma pergunta duplicada: link por @sclausen

É apenas a falta de um arquivo de serviço para o systemd. Não há necessidade de voltar ao upstart como o Kartik fez ou usar um repositório diferente do descrito no link .

Crie um arquivo /lib/systemd/system/mongodb.service com o seguinte conteúdo:

[Unit]
Description=High-performance, schema-free document-oriented database
After=network.target

[Service]
User=mongodb
ExecStart=/usr/bin/mongod --quiet --config /etc/mongodb.conf

[Install]
WantedBy=multi-user.target
    
por Sudhanshu 05.01.2016 / 14:33
1

link

Parece que isso possivelmente não será totalmente corrigido para o > 2.6.3 até o Ubuntu 16.04, a menos que haja strongs protestos.

Então a solução para mim foi publicar:

sudo apt-get install --reinstall mongodb
    
por Fabien Thetis 09.03.2016 / 15:49
1

use "mongodb" em vez de "mongod"

ou seja

sudo service mongodb start

sudo service mongodb stop
    
por Yasitha Bandara 03.03.2018 / 18:11
0

Muitas dessas respostas estão relacionadas ao Mongo 3.0, enquanto a pergunta é feita especificamente sobre o 2.6.

Eu tive sucesso instalando o 2.6 usando o repositório Debian do 10gen. Isto parece funcionar perfeitamente com o Ubuntu 15.04.

sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 7F0CEB10
echo 'deb http://downloads-distro.mongodb.org/repo/debian-sysvinit dist 10gen' | sudo tee /etc/apt/sources.list.d/mongodb.list
sudo apt-get update
sudo apt-get install mongodb-org

Fonte: Como instalar o MongoDB 2.6 no Ubuntu 14.10, 14.04 e 12.04 LTS

    
por Tom Spencer 16.06.2015 / 11:40
0

Enquanto a questão é para a versão 2.6. Eu estava recebendo exatamente o mesmo erro Unit mongod.service failed to load no meu Ubuntu 15.04 para a versão 3.0.6. Finalmente resolvido usando o mesmo repositório wheezy mencionado por Dielson Sales acima.

E após a instalação (seguindo os passos detalhados por @Dielson Sales) enfrentou o erro acima. Aqui está como eu finalmente resolvi.

A) Altere os arquivos de armazenamento de dados padrão do MongoDB de / var / lib / mongodb para / data / db

  • Primeiro, crie o novo diretório / data / db sudo mkdir -p /data/db

  • Abra o arquivo mongod.conf sudo gedit /etc/mongod.conf e altere a linha "dbpath" como abaixo

  • Substitua dbpath = / var / lib / mongodb para dbpath = / data / db e salve o arquivo.

  • Em seguida, exclua o padrão antigo / var / lib / mongodb

  • Agora, precisamos criar todos os diretórios / arquivos de propriedade do usuário mongod

B) Então, execute sudo chown -R mongodb:mongodb /data/db

E agora, finalmente, posso começar o mongo com sudo service mongod start

E chcek que o serviço está rodando com sudo systemctl status mongod - Ele deve mostrar uma mensagem semelhante a abaixo

Loaded: loaded (/etc/init.d/mongod)

Active: active (running) since Thu 2015-09-03 04:57:49 IST; 7s ago

Descrever detalhadamente minhas etapas na minha postagem no blog

    
por Rohan_Paul 03.09.2015 / 02:38
0

Primeiro, baixe o mongodb:

curl -O https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-3.0.6.tgz

extrair o download:

tar -zxvf mongodb-linux-x86_64-3.0.6.tgz

execute o mongod (mongodb-linux-x86_64-3.0.6.tgz / bin / mongod) com o atributo -dbpath:

sudo ./mongod --dbpath /path/of/the/directory

Pode ser um diretório vazio de sua escolha

e finalmente, execute mongo (mongodb-linux-x86_64-3.0.6.tgz / bin / mongo)

./mongo

trabalhou no meu Ubuntu 15 :)

desculpe pelo meu inglês ruim, eu moro no Brasil

    
por Augusto José Miranda Amaral 08.09.2015 / 14:58
0

Depois de horas de pesquisa, A solução foi atualizar meu Ubuntu de 15.04 para 16.04 usando este comando:

Etapa 1

sudo do-release-upgrade -d 

Isso levará alguns minutos, então não entre em pânico, então você deve remover o mongodb:

Etapa 2

sudo apt-get purge mongodb-org 
sudo apt-get autoremove'  
rm /etc/apt/sources.list.d/mongodb-org-3.0.list'  

E agora, instale o mongodb, mas usando essa fonte:

echo 'deb http://repo.mongodb.org/apt/debian wheezy/mongodb-org/3.0 main' | sudo tee /etc/apt/sources.list.d/mongodb-org-3.0.list

Etapa 3

sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 7F0CEB10  
echo ‘deb http://repo.mongodb.org/apt/debian wheezy/mongodb-org/3.0 main’ | sudo tee /etc/apt/sources.list.d/mongodb-org-3.0.list
sudo apt-get update
sudo apt-get install mongodb-org
sudo service mongod status

E é isso.

Nota: Se você receber um erro como 'E: o tipo' deb 'na primeira linha. . . no arquivo mongodb-org-3.0.list

tudo que você precisa fazer é entrar nesse arquivo usando o gedit e excluir o "no início e no final da frase".

    
por أبو محمد حازم 03.01.2016 / 07:13
0

O Ubuntu 15.04+ usa systemd em vez de upstart . Comece com o guia de instalação oficial do MongoDB . Em seguida, use o seu mongod.service oficial:

[Unit]
Description=High-performance, schema-free document-oriented database

[Service]
User=mongod
Group=mongod
Environment="OPTIONS=--quiet -f /etc/mongod.conf"
ExecStart=/usr/local/bin/mongod $OPTIONS run
PIDFile=/var/run/mongodb/mongod.pid

[Install]
WantedBy=multi-user.target

Faça o download, remendo, instale o serviço e configure o dir + permissões

$ curl -OL https://raw.githubusercontent.com/mongodb/mongo/1663f45b4e33e058a0203a81f50574a870882c34/rpm/mongod.service
$ sed -i 's/\/usr\/local/\/usr/g' mongod.service
$ sed -i '/Desc/a After=network.target' mongod.service
$ sudo sed -i '0,/\/var\/lib\/mongodb/s//\/data\/db/' /etc/mongod.conf
$ sudo cp mongod.service /lib/systemd/system/mongo.service
$ sudo mkdir -p /data/db
$ sudo chown -R mongodb:mongodb /data
$ sudo systemctl daemon-reload
$ sudo systemctl enable mongod

Iniciar serviço

$ sudo systemctl start mongod

Verifique o status do serviço

$ sudo systemctl status mongod
    
por A T 03.02.2016 / 06:21
0

Você digitou um erro de digitação no seu comando.

Tente usar isso: sudo service mongodb start

    
por erdem karayer 04.05.2016 / 15:24

Tags