¿Está ejecutando desde el repositorio 10gen o desde el repositorio predeterminado de Debian / Ubuntu? Recomiendo usar el repositorio oficial de 10gen.
Consulte este enlace: [10gen MongoDB How-To Install en Ubuntu:] http://docs.mongodb.org/manual/tutorial/install-mongodb-on-ubuntu/ . Es mejor desinstalar la instalación anterior de mongodb antes de este cambio, que también requerirá que modifique su fuente de repositorio (en /etc/apt/source.list) pero esto también se detalla en el enlace de arriba. Recomiendo usar upstart sobre sysvinit y el proceso se describe en el Cómo.
Con la configuración de Ubuntu 10gen, el archivo de configuración está en /etc/mongodb.conf.
Hay varias maneras en que puede ejecutar un proceso mongod por separado, una sería simplemente ejecutarlo desde el cli:
sudo -u mongodb mongod --dbpath /var/tmp/mongotest --logpath /var/tmp/mongotest_log --port 3001 &
que producirá (usando 'ps')
mongodb 2210 3.3 1.5 259012 15300 pts/0 Dl 11:48 0:00 mongod --dbpath /var/tmp/mongotest --logpath /var/tmp/mongotest_log --port 3001
y puedes conectarte a través del cli -> mongod --port 3001
Otra forma es crear una copia de /etc/mongodb.conf -
sudo cp /etc/mongodb.conf /etc/mongodbnew.conf and editing the following lines in the new file -
# mongodbnew.conf
dbpath=/var/lib/mongodbnew
#where to log
logpath=/var/log/mongodb/mongodbnew.log
port = 27018
He cambiado el dbpath (donde se almacenan los archivos mongodb) de / var / lib / mongodb a / var / lib / mongodbnew; la ruta de registro ha cambiado de mongodb.log a mongodbnew.log y el puerto ha cambiado del valor predeterminado de 27017 a 27018 (también deberá eliminar el # para descomentar la línea).
También cambié la línea superior para reflejar el nuevo nombre de este archivo de configuración.
También tendrá que crear el directorio de datos porque no existirá y sin él, el proceso mongod no se iniciará y se asegurará de que el propietario y el grupo sean mongodb:
sudo mkdir /var/lib/mongodbnew
sudo chown -R mongodb:mongodb mongodbnew/
Además, cree y cambie las transmisiones de su archivo de registro:
sudo touch /var/log/mongodb/mongodbnew.log && sudo chown mongodb:mongodb /var/log/mongodb/mongodbnew.log
Para iniciar su nuevo proceso mongod (en segundo plano) desde el cli, escriba
sudo -u mongodb /usr/bin/mongod --config /etc/mongodbnew.conf &
que envían lo siguiente a la pantalla:
"toda la salida va a: /var/log/mongodb/mongodbnew.log"
Compruebe que los procesos mongod se ejecutan con "ps" -
sysadmin@ubuntu:/var/lib$ ps auwx | grep mongo | egrep -v 'grep|sudo'
mongodb 921 11.3 1.5 627672 15608 ? Ssl 10:56 4:30 /usr/bin/mongod --config /etc/mongodb.conf
mongodb 2137 7.8 1.5 627672 15880 pts/0 Sl 11:36 0:00 /usr/bin/mongod --config /etc/mongodbnew.conf
Para verificar que puede conectarse, ejecute el shell Mongo:
$ mongo --port 27018
MongoDB shell version: 2.0.5
connecting to: 127.0.0.1:27018/test
>
Con lsof, ahora debería ver sus dos procesos mongod, el original vinculado a 27017 y el nuevo vinculado a 27018.
$ sudo lsof -i :27017
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
mongod 921 mongodb 6u IPv4 9066 0t0 TCP *:27017 (LISTEN)
sysadmin@ubuntu:/var/lib$ sudo lsof -i :27018
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
mongod 2137 mongodb 6r IPv4 11923 0t0 TCP *:27018 (LISTEN)
Para asegurarse de que los dos procesos se ejecutan al inicio, copie el archivo de configuración de inicio original:
sudo cp /etc/init/mongodb.conf /etc/init/mongodbnew.conf
que debería dar como resultado dos archivos como -
$ ls -lart /etc/init/mongo*
-rw-r--r-- 1 root root 536 May 8 15:51 /etc/init/mongodb.conf
-rw-r--r-- 1 root root 554 Jun 11 11:43 /etc/init/mongodbnew.conf
Edite el nuevo archivo mongodbnew.conf usando vi o lo que prefiera para verse así:
## Ubuntu upstart file at /etc/init/mongodbnew.conf
limit nofile 20000 20000
kill timeout 300 # wait 300s between SIGTERM and SIGKILL.
pre-start script
mkdir -p /var/lib/mongodbnew/
mkdir -p /var/log/mongodbnew/
end script
start on runlevel [2345]
detenerse en el nivel de ejecución [06]
script
ENABLE_MONGODB="yes"
if [ -f /etc/default/mongodbnew ]; then . /etc/default/mongodbnew; fi
if [ "x$ENABLE_MONGODB" = "xyes" ]; then exec start-stop-daemon --start --quiet --chuid mongodb --exec /usr/bin/mongod -- --config /etc/mongodbnew.conf; fi
fin de guión
He probado esto en Ubuntu 12.04 y parece funcionar bien, incluso después de un reinicio. Obviamente no lo he ejecutado en producción. Disculpas, si hay algún error tipográfico arriba pero hay mucha información y puede que me haya perdido algo.
Finalmente, aquí hay un enlace en los Conjuntos de réplicas que pueden ayudarlo, ya que ha proporcionado ejemplos sobre cómo iniciar múltiples instancias mongod desde el cli: http://www.mongodb.org/display/DOCS/Replica+Set+Tutorial .