PostHeaderIcon Установка MongoDB + Python на Ubuntu

Пытаюсь завести привычку записывать то что делаю, так как потом просто могу не вспомнить как решал ту или иную проблему.
На сей раз задача звучала следующим образом:
Необходимо хранить кучи данных в быстрой базе,  которая должна работать на linux и быть максимально простой , т.е я в нее сладирую она это хранит, и все  на данном этапе разработке приложения это все что от нее нужно. Так же она должна иметь Python API.  Так как монго я уже немного трогал, решено было использовать ее.


Установка Mongo
1) Скачать свежию версию монго c сайта http://www.mongodb.org/downloads. Для linux_64x последним стабильным на сегодняшний день релизом будет 1.8.1.
 wget http://fastdl.mongodb.org/linux/mongodb-linux-x86_64-1.8.1.tgz
2) Создать папку /srv/bases/mongo
 mkdir -p /srv/bases/mongo

3) Распаковать скаченный дистрибутив.

 tar xzf mongodb-linux-x86_64-1.8.1.tgz

4) Копируем из разпакованного диструбутива папку bin в директорию /srv/bases/mongo

cd mongodb-linux-x86_64-1.8.1
cp -r bin /srv/base/mongodb/

5) В папке монго /srv/bases/mongo создаем дополнительные папки log, config, dbs. Они нам понадобятся для удобства использования базы.

 cd /srv/bases/mongo
 mkdir log config dbs

6) Создать файл конфига и отредактировать его

 touch /srv/bases/mongo/config/master.cfg
 nano /srv/bases/mongo/config/master.cfg

Содержимое файла:

dbpath = /srv/base/mongodb/dbs/master/ # -  путь до ноды
master = true # -  флаг что она мастер
bind_ip = 192.168.0.158 # -  биндимся на выбранный адресс
port = 60000 # -  биндимсяна конкретный порт
directoryperdb = true # -  храним базы в разных файлах
logpath = /srv/base/mongodb/log/master.log # -  пишем лог в указанный файл

7) Добавляем путь до монго к стандартному пути. Для ubuntu правим файл /etc/environment

  nano /etc/environment

Добавляем в конец /srv/base/mongodb/bin

PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/srv/base/mongodb/bin"
Работаем в Python

1) Устанавливаем библиотеку для Python

 easy_install pymongo

2) Проверяем установку библиотеке

 $ python
      >>>  import pymongo

Если ошибок импорта нет, то библиотека успешно установленна

3) Далее пишем "hello word" для теста соединения с базой
Содержание mongostart.py

# -*- coding: utf-8 -*-

import pymongo #@UnresolvedImport
import datetime

# Соединяемся с базой
conn = pymongo.Connection('192.168.0.158', 60000)

# Выводим имена баз
print conn.database_names()

# Выводим системную инфу
print conn.server_info()

# Создаем тестовыю базу
db = conn['testerBD']

# Создаем коллекцию
testerCol = db['testerCol']

# Создаем объект для сохраниения
post = {"author": "Seomazzi", "text": "Seomazzi blog post!", "tags": ["mongodb", "python", "pymongo", "ubuntu "],
        'dt' : datetime.datetime(2011, 11, 10, 10, 45, 13)}

# Вставляем объект
testerCol.insert(post)

# Выводим все  объекты коллекции
for test in testerCol.find():
    print test
Вот и все. Мы установили MgongoDB, подключились Python`ом и по-быстрому записали данные.
PROFIT!!!

Оставить комментарий