Como instalo o MongoDB 3.0 no Vivid?

8

O pacote oficial oficial do mongodb é o 2.x, e os pacotes fornecidos pelo MongoDB em http://repo.mongodb.org/apt/ubuntu/dists/trusty/ estão disponíveis apenas para versões LTS.

Uma alternativa é que eu poderia voltar para o 14.04 LTS, mas precisaria instalar o openjdk-8-jdk, que está disponível apenas para uso vívido.

Hugh Rawlinson
fonte
1
Acho que nada de ruim acontecerá se você o instalar de um repositório confiável e vívido.
Pilot6

Respostas:

13

É possível que o MongoDB não inicie se você usar os pacotes Trusty:

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

Nesse caso, instale os pacotes Debian Wheezy conforme descrito no final.

Instale os pacotes DEB confiáveis

Faça o download dos arquivos DEB

cd
wget http://repo.mongodb.org/apt/ubuntu/dists/trusty/mongodb-org/3.0/multiverse/binary-amd64/mongodb-org-mongos_3.0.3_amd64.deb
wget http://repo.mongodb.org/apt/ubuntu/dists/trusty/mongodb-org/3.0/multiverse/binary-amd64/mongodb-org-server_3.0.3_amd64.deb
wget http://repo.mongodb.org/apt/ubuntu/dists/trusty/mongodb-org/3.0/multiverse/binary-amd64/mongodb-org-shell_3.0.3_amd64.deb
wget http://repo.mongodb.org/apt/ubuntu/dists/trusty/mongodb-org/3.0/multiverse/binary-amd64/mongodb-org-tools_3.0.3_amd64.deb
wget http://repo.mongodb.org/apt/ubuntu/dists/trusty/mongodb-org/3.0/multiverse/binary-amd64/mongodb-org_3.0.3_amd64.deb

E instale com (nesta ordem)

sudo dpkg -i mongodb-org-server_3.0.3_amd64.deb
sudo dpkg -i mongodb-org-tools_3.0.3_amd64.deb
sudo dpkg -i mongodb-org-shell_3.0.3_amd64.deb
sudo dpkg -i mongodb-org-mongos_3.0.3_amd64.deb
sudo dpkg -i mongodb-org_3.0.3_amd64.deb

E retirado dos comentários, obrigado @ Pilot6 :

Eles podem ter dependências entre si. É por isso que os pacotes de instalação, um por um, podem causar erros. Eu sugirosudo dpkg -i mongodb*.deb


Use o PPA confiável

sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 7F0CEB10
echo "deb http://repo.mongodb.org/apt/ubuntu trusty/mongodb-org/3.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.0.list
sudo apt-get update
sudo apt-get install -y mongodb-org

Use os pacotes Debian Wheezy

É possível que o MongoDB não inicie se você usar os pacotes Trusty:

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

Nesse caso, instale os pacotes Debian Wheezy como descrito abaixo

sudo apt-get remove mongodb-org
sudo apt-get autoremove
sudo rm /etc/apt/sources.list.d/mongodb-org-3.0.list
sudo 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 -y mongodb-org
AB
fonte
Eles podem ter dependências entre si. É por isso que os pacotes de instalação, um por um, podem causar erros. Sugirosudo dpkg -i mongodb*.deb
Pilot6
@ Pilot6 Portanto, sudo dpkg -i mongodb-org_3.0.3_amd64.debcomo último comando
AB
Apenas uma sugestão. E é mais fácil como um comando. Se você instalar vários pacotes em um comando, as dependências serão resolvidas.
Pilot6
@ Pilot6 adicionou e vinculou =)
AB
Ok, eu usei os pacotes deb Trusty e funcionou. Como faço para executá-lo como um serviço para que eu possa iniciar e interromper o uso service mongod start?
Hugh Rawlinson
4

Instalado com sucesso com o mongo versão 3.0.6 no meu Ubuntu 15.04 usando o repositório debian wheezy - veja as etapas abaixo

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 -y mongodb-org

No entanto, após todas as etapas acima e o mongodb instalado na minha máquina, agora, quando eu tentava iniciar o serviço do mongodb, sudo service mongod startele falharia. Emitindo a seguinte mensagem de erro

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

Então, aqui está como eu resolvi e iniciei o mongodb normalmente

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

  • sudo mkdir -p /data/db

  • sudo gedit /etc/mongod.conf e mude a linha "dbpath" como abaixo

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

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

  • Agora devemos criar todos os diretórios / arquivos pertencentes ao mongod user

  • Corre sudo chown -R mongodb:mongodb /data/db

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

E chcek com o qual o serviço está sendo executado sudo systemctl status mongod - ele deve mostrar uma mensagem semelhante à abaixo

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

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

Detalhei minhas etapas em minha postagem no blog .

Rohan_Paul
fonte
1

Como eu disse antes: Os pacotes Debian / Ubuntu foram corrigidos com as unidades de serviço systemd, para preencher o buraco deixado pelo material publicado diretamente no mongodb.org. Mas não há falta de mongodb.servicearquivos de unidade na WWW. Também não é difícil escrever um. (Eu tenho.)

Especificamente: Você encontrará essa unidade de serviço no pacote mongodb-server versão 2.6 para Ubuntu versão 15 . Também há uma unidade de serviço publicada pelo mongodb.org . Simplesmente, o pessoal do mongodb.org confundiu erroneamente o uso do RPM com o uso do systemd nas coisas específicas da distribuição.

Observe que, ironicamente, as unidades de serviço fornecidas pelo mongodb.org não aplicam as diretrizes da unidade de serviço systemd que o próprio mongodb.org recomenda . Nem os fornecidos pelo Debian / Ubuntu. Mas, novamente: uma unidade de serviço escrita à mão com essas diretivas não é difícil de escrever; ou mesmo modificar para adicionar coisas como numactl. ☺

Leitura adicional

JdeBP
fonte
0

Bem, nenhuma resposta da AB funcionou. Então, minha única opção era instalar a partir do tarball

Siga, instruções sobre os documentos relacionados a este tópico.

deostroll
fonte
0

Como um pequeno complemento à excelente resposta da @ AB. No vívido amd64, com uma instalação anterior do mongod 2.6 .26, basta substituir o sources.list.darquivo existente por

deb http://repo.mongodb.org/apt/ubuntu trusty/mongodb-org/3.0 multiverse

seguido por um dist-upgrade funcionou automaticamente.

sudo apt-get update
sudo apt-get dist-upgrade
serv-inc
fonte