Ir para o conteúdo

Publicidade

 Estatísticas do Fórum

  • 0 Usuários ativos

    0 membro(s), 0 visitante(s) e 0 membros anônimo(s)

Cursos Online iMasters
Foto:

Instalando MongoDB no Linux

  • Por favor, faça o login para responder
8 respostas neste tópico

#1 João Batista Neto

João Batista Neto

    Verschränkung

  • Administradores
  • 4.554 posts

Postado 21 agosto 2010 - 10:19

Bom, para aqueles que vão começar a brincar com o MongoDB, vão precisar instalá-lo antes de poder seguir as dicas do Suissa para fazer o Backup do seu MongoDB.

Então, claro, precisamos baixá-lo antes :seta: http://www.mongodb.org/downloads

[neto@localhost opt]# wget http://fastdl.mongodb.org/linux/mongodb-linux-x86_64-1.6.1.tgz
--2010-08-21 09:21:00-- http://fastdl.mongodb.org/linux/mongodb-linux-x86_64-1.6.1.tgz
Resolvendo fastdl.mongodb.org... 204.246.169.227, 204.246.169.34, 204.246.169.29, ...
Conectando-se a fastdl.mongodb.org|204.246.169.227|:80... conectado.
A requisição HTTP foi enviada, aguardando resposta... 200 OK
Tamanho: 25159934 (24M) [application/x-tar]
Salvando em: "mongodb-linux-x86_64-1.6.1.tgz"

100%[==========================================================================>] 25.159.934 112K/s em 2m 28s

2010-08-21 09:23:31 (166 KB/s) - "mongodb-linux-x86_64-1.6.1.tgz" salvo [25159934/25159934]

Com o arquivo em mãos, descompactamos-o:

[neto@localhost opt]# tar -zxvf mongodb-linux-x86_64-1.6.1.tgz
mongodb-linux-x86_64-1.6.1/
mongodb-linux-x86_64-1.6.1/THIRD-PARTY-NOTICES
mongodb-linux-x86_64-1.6.1/GNU-AGPL-3.0
mongodb-linux-x86_64-1.6.1/README
mongodb-linux-x86_64-1.6.1/bin/
mongodb-linux-x86_64-1.6.1/bin/mongo
mongodb-linux-x86_64-1.6.1/bin/mongos
mongodb-linux-x86_64-1.6.1/bin/mongodump
mongodb-linux-x86_64-1.6.1/bin/mongostat
mongodb-linux-x86_64-1.6.1/bin/mongofiles
mongodb-linux-x86_64-1.6.1/bin/mongoimport
mongodb-linux-x86_64-1.6.1/bin/mongosniff
mongodb-linux-x86_64-1.6.1/bin/mongorestore
mongodb-linux-x86_64-1.6.1/bin/mongod
mongodb-linux-x86_64-1.6.1/bin/bsondump
mongodb-linux-x86_64-1.6.1/bin/mongoexport

E, apenas para facilitar o acesso, criamos um link simbólico:

[neto@localhost opt]# ln -s mongodb-linux-x86_64-1.6.1 mongodb

Ok, se entramos no diretório mongodb, teremos o seguinte:

[neto@localhost opt]# cd mongodb
[neto@localhost mongodb]# find .
.
./README
./THIRD-PARTY-NOTICES
./GNU-AGPL-3.0
./bin
./bin/mongodump
./bin/mongofiles
./bin/mongoexport
./bin/mongos
./bin/mongoimport
./bin/mongo
./bin/bsondump
./bin/mongorestore
./bin/mongostat
./bin/mongosniff
./bin/mongod

Como pode ser visto, o diretório bin contém todos os binários do MongoDB.

Entre os vários binários, temos um que vamos utilizar agora:

./bin/mongod :seta: O d no final, indica daemon

Para iniciar e parar o MongoDB, vamos criar um script para facilitar as coisas:

[neto@localhost mongodb]# vim /opt/mongodb/mongod

Colocamos o código abaixo no script:

#!/bin/bash

prog=mongod

start() {
	echo -n $"iniciando $prog..."
	/opt/mongodb/bin/mongod --quiet --config /etc/mongod.conf
}

stop() {
	echo -n $"parando $prog..."
	pid=`ps -o pid,command ax | grep mongod | awk '!/awk/ && !/grep/ {print $1}'`;
 
	if [ "${pid}" != "" ]; then
		kill -2 ${pid};
	fi
}

case "$1" in
	start)
		start
		;;
	stop)
		stop
		;;
	*)
		echo $"Use: $prog {start|stop}"
		;;
esac

E damos permissões de execução:

[neto@localhost mongodb]# chmod +x mongod

Como pode ser notado, na função start(), usamos um arquivo de configuração (/etc/mongod.conf)

Precisamos criá-lo:

[neto@localhost mongodb]$ su
Senha:
[root@localhost mongodb]# vim /etc/mongod.conf

Nesse arquivo de configuração, colocamos o seguinte:

dbpath = /var/lib/mongodb
logpath = /var/lib/mongodb/mongodb.log
logappend = true

bind_ip = 127.0.0.1
port = 27017
fork = true

auth = true

Novamente, podemos notar dois caminhos, dbpath e logpath, vamos precisar criá-los:

[root@localhost mongodb]# mkdir /var/lib/mongodb/
[root@localhost mongodb]# touch /var/lib/mongodb/mongodb.log

Pronto, temos o script de inicialização e configuração, podemos iniciar nosso MongoDB:

[root@localhost mongodb]# /opt/mongodb/mongod start
iniciando mongod...forked process: 9587
all output going to: /var/lib/mongodb/mongodb.log

:D

Para maiores informações sobre as configurações :seta: http://www.mongodb.o...Line Parameters

Editado por Mário Monteiro, 29 julho 2012 - 15:27 .

  • 0

#2 Avelino.US

Avelino.US

    Thiago Avelino

  • Membros
  • 55 posts

Postado 22 agosto 2010 - 09:02

Caso você use MAC deve fazer o mesmo procedimento que vai funcionar perfeitamente.

O MAC como o Linux tem alguns gerenciador de pacote o PORT e BREW, caso queira instalar por eles é super simples, veja abaixo:

PORT:
$ sudo port install mongodb

BREW
$ brew install mongodb



Mais informações sobre como instalar MongoDB no MAC: http://www.mongodb.o...Quickstart OS X


@mongodb
  • 0

#3 giesta

giesta

    Intergalactic!

  • Membros
  • 1.725 posts

Postado 22 agosto 2010 - 10:19

http://www.mongodb.o...nloads#packages


Acredito que este link contenha a soluçao para 95% dos usuarios linux. Faltou soh um portage/emerge pra Gentoo...
  • 0

#4 João Batista Neto

João Batista Neto

    Verschränkung

  • Administradores
  • 4.554 posts

Postado 22 agosto 2010 - 22:14

Para quem vai usar o Mongo com PHP e já seguiu os passos para instalar o Driver PHP e utiliza Eclipse como IDE, pode baixar o phpdoc de todas as classes em http://mongo.improje...r/phpdoc.tar.gz

Utilizei exatamente o conteúdo do manual do PHP para comentar as classes, porém é muito útil para quem ainda não conhece todos os métodos e retorno de cada um ou apenas gosta da completação automática provida pelo IDE.

;)

Editado por Mário Monteiro, 29 julho 2012 - 15:26 .

  • 0

#5 André da Silva

André da Silva
  • Membros
  • 1.570 posts

Postado 20 janeiro 2011 - 08:31

Tenho o lampp instalando em meu servidor (php/apache/mysql), se eu instalando o mongoDB não vai ocasionar algum conflito ?
  • 0

#6 João Batista Neto

João Batista Neto

    Verschränkung

  • Administradores
  • 4.554 posts

Postado 21 janeiro 2011 - 06:48

se eu instalando o mongoDB não vai ocasionar algum conflito ?


Não deve causar qualquer conflito, André.
  • 0

#7 Andrey Knupp Vital

Andrey Knupp Vital

    Web Developer

  • Moderadores
  • 4.434 posts

Postado 15 julho 2011 - 12:46

Só pra deixar claro aqui, voltei a usar mongodb, porem para as versões 32 bits baixadas via sudo, ele não cria a pasta /data/db ..
então, provavelmente, quando vocês iniciarem o processo mongod, pra registrar o mongodb ao serviço, vai dar o seguinte erro:
andrey@andrey:~$ sudo su
root@andrey:/# cd ~
root@andrey:~# cd /usr/lib/mongodb
root@andrey:/usr/lib/mongodb# ls
mongo   mongodump    mongofiles   mongorestore  mongostat
mongod  mongoexport  mongoimport  mongos        xulwrapper
root@andrey:/usr/lib/mongodb# mongod
/usr/lib/mongodb/mongod --help for help and startup options
Fri Jul 15 12:44:34 Mongo DB : starting : pid = 26078 port = 27017 dbpath = /data/db/ master = 0 slave = 0  32-bit 

** NOTE: when using MongoDB 32 bit, you are limited to about 2 gigabytes of data
**       see http://blog.mongodb.org/post/137788967/32-bit-limitations for more

Fri Jul 15 12:44:34 Assertion: 10296:dbpath (/data/db/) does not exist
0x810a8f2 0x8284c5c 0x8284d6c 0x8287f92 0xd09ce7 0x80bd301 
 /usr/lib/mongodb/mongod(_ZN5mongo11msgassertedEiPKc+0x2b2) [0x810a8f2]
 /usr/lib/mongodb/mongod(_ZN5mongo14_initAndListenEiPKc+0x108c) [0x8284c5c]
 /usr/lib/mongodb/mongod(_ZN5mongo13initAndListenEiPKc+0x2c) [0x8284d6c]
 /usr/lib/mongodb/mongod(main+0x3092) [0x8287f92]
 /lib/libc.so.6(__libc_start_main+0xe7) [0xd09ce7]
 /usr/lib/mongodb/mongod() [0x80bd301]
Fri Jul 15 12:44:34   exception in initAndListen std::exception: dbpath (/data/db/) does not exist, terminating
Fri Jul 15 12:44:34  dbexit: 
Fri Jul 15 12:44:34 	 shutdown: going to close listening sockets...
Fri Jul 15 12:44:34 	 shutdown: going to flush oplog...
Fri Jul 15 12:44:34 	 shutdown: going to close sockets...
Fri Jul 15 12:44:34 	 shutdown: waiting for fs preallocator...
Fri Jul 15 12:44:34 	 shutdown: closing all files...
Fri Jul 15 12:44:34      closeAllFiles() finished
Fri Jul 15 12:44:34  dbexit: really exiting now
root@andrey:/usr/lib/mongodb# 

Percebam que tem um erro, informando que a pasta data, data/db não existe, então vamos cria-la:
root@andrey:/usr/lib/mongodb# cd ..
root@andrey:/usr/lib# mkdir /data
root@andrey:/usr/lib# mkdir /data/db
root@andrey:/usr/lib# cd mongodb
root@andrey:/usr/lib/mongodb# mongod
/usr/lib/mongodb/mongod --help for help and startup options
Fri Jul 15 12:46:19 Mongo DB : starting : pid = 26102 port = 27017 dbpath = /data/db/ master = 0 slave = 0  32-bit 

** NOTE: when using MongoDB 32 bit, you are limited to about 2 gigabytes of data
**       see http://blog.mongodb.org/post/137788967/32-bit-limitations for more

Fri Jul 15 12:46:19 db version v1.4.4, pdfile version 4.5
Fri Jul 15 12:46:19 git version: nogitversion
Fri Jul 15 12:46:19 sys info: Linux roseapple 2.6.24-28-server #1 SMP Wed Aug 18 21:17:51 UTC 2010 i686 BOOST_LIB_VERSION=1_42
Fri Jul 15 12:46:19 waiting for connections on port 27017
Fri Jul 15 12:46:19 listen(): bind() failed errno:98 Address already in use for port: 27017
Fri Jul 15 12:46:19 MiniWebServer: bind() failed port:28017 errno:98 Address already in use
Fri Jul 15 12:46:19   addr already in use
Fri Jul 15 12:46:19 warning: web admin interface failed to initialize on port 28017

No caso, pra verificar se o serviço está mesmo rodando:
andrey@andrey:~$ GET 127.0.0.1:27017 -U
GET http://127.0.0.1:27017
User-Agent: lwp-request/5.834 libwww-perl/5.836
You are trying to access MongoDB on the native driver port. For http diagnostic access, add 1000 to the port number

andrey@andrey:/usr/lib/mongodb$ mongo
MongoDB shell version: 1.4.4
url: test
connecting to: test
type "exit" to exit
type "help" for help
> 

Pra instalar via sudo:
sudo apt-get install mongodb
Voilà

;)
  • 0

#8 Suissa

Suissa

    Don't look to the sky your place is down

  • Membros
  • 2.684 posts

Postado 18 julho 2011 - 23:10

BOA! :joia:
  • 0

#9 Andrey Knupp Vital

Andrey Knupp Vital

    Web Developer

  • Moderadores
  • 4.434 posts

Postado 19 julho 2011 - 18:34

Jean, postei também um tutorial na área de PHP, que também é uma das mais movimentadas aqui do fórum, de como instalar o MongoDB juntamente com as extensões necessárias ou 'a' extensão necessária para utilizar o objeto Mongo do PHP.

Segue o link :seta: http://forum.imaster...ongodb-com-php/
;)
  • 0




Publicidade

/ins>