Великой эпохе нужны великие люди (Я. Гашек).

Как установить MongoDB на CentOS 7

FavoriteLoadingДобавить в избранное
1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (1 оценок, среднее: 5,00 из 5)
Загрузка...

Статья опубликована: 1 июня 2017

Как установить MongoDB на CentOS 7
MongoDB является документо-ориентированной базой данных, которая является свободной и с открытым исходным кодом. Она классифицируется как база данных NoSQL, потому что он не опирается на традиционные таблицы на основе реляционной структуры базы данных. Вместо этого она использует JSON-подобные документы с динамическими схемами. В отличии от реляционных баз данных, MongoDB не требует предопределенных схем, прежде чем добавлять данные в базу данных. Вы можете изменить схему в любое время и так часто, как это необходимо, без необходимости установки новой базы данных с обновленной схемой.

Это руководство проведет вас через установку MongoDB Community Edition на сервере CentOS 7.

Предпосылки

Перед выполнением этого учебника, убедитесь, что у вас есть обычный, не корневой пользователь с привилегиями sudo. Вы можете узнать больше о том, как создать пользователя с этими привилегиями в руководстве, как создать пользователя sudo на CentOS.

Шаг 1 – Добавление MongoDB Repository

Пакет mongodb-org отсутствует в репозитории по умолчанию для CentOS. Однако, MongoDB поддерживает специальный репозиторий. Давайте добавим его на наш сервер.

С помощью редактора vi, создайте файл:

 

Затем, посетите раздел установки на Red Hat документацию MongoDB и добавьте информацию хранилища для последней стабильной версии в файл:

/etc/yum.repos.d/mongodb-org.repo
 

Сохраните и закройте файл.

Прежде чем двигаться дальше, мы должны убедиться, что хранилище MongoDB существует при помощи утилиты yum. Команда repolist выводит список разрешенных хранилищ:

 

Вывод
 

Давайте теперь перейдем к установке.

Шаг 2 – Установка MongoDB

Мы можем установить пакет mongodb-org из репозитория третьих сторон с помощью утилиты yum.

 

Есть два приглашения Is this ok [y/N]:. Первый из них позволяет установку пакетов MongoDB и второй один импортирует ключ GPG. Издатель MongoDB подписывает свое программное обеспечение и yum использует ключ для подтверждения целостности загруженных пакетов. В каждой строке введите, Y затем нажмите клавишу ENTER.

Далее запустите службу MongoDB с утилитой systemctl:

 

Несмотря на то, что мы не будем использовать их в этой статье, вы можете также изменить состояние службы MongoDB с командами reload и stop.

Команда reload просит процесс mongod считывает файл конфигурации, /etc/mongod.conf и применяет какие-либо изменения, не требуя перезагрузки.

 

Команда stop останавливает все запущенные процессы mongod.

 

Утилита systemctl не обеспечивает результат после выполнения команды start, но мы можем проверить, что служба начала просмотрев конец файла mongod.log с помощью команды tail:

 

Вывод
 

Выход waiting for a connection подтверждает, что MongoDB успешно запустился, и мы можем получить доступ к серверу базы данных с помощью MongoDB Shell:

 

Примечание:

Примечание: Когда вы запустили MongoDB Shell вы можете увидеть предупреждение, примерно такого содержания:

** WARNING: soft rlimits too low. rlimits set to 4096
processes, 64000 files. Number of processes should be at least 32000 :
0.5 times number of files.

MongoDB является многопоточным приложением. Он может запускать дополнительные процессы для обработки своей рабочей нагрузки. Предупреждение говорит, что для MongoDB, наиболее эффективное число процессов, которые он может осуществлять, должно составлять половину от числа файлов, которые он может открыть в любой момент времени. Чтобы устранить это предупреждение, измените значение processes rlimit для mongod, путем редактирования файла 20-nproc.conf:

 

Добавьте следующую строку в конец файла:

/etc/security/limits.d/20-nproc.conf
 

Чтобы новые ограничения были доступны для MongoDB, перезапустите его при помощи утилиты systemctl:

 

После этого, при подключении к MongoDB Shell, предупреждение должно исчезнуть.

Чтобы узнать, как взаимодействовать с MongoDB из оболочки, вы можете просмотреть вывод метода db.help(), который обеспечивает список методов объекта db.

 

Вывод
 

Оставьте процесс mongod работающим в фоновом режиме, но выйдите из оболочки с помощью команды exit:

 

Вывод

Шаг 3 – Проверка запуска

Поскольку приложение на основе баз данных не может функционировать без базы данных, мы удостоверимся, что демон MongoDB, mongod начнет с системой.

Используйте утилиту systemctl, чтобы проверить состояние запуска:

 

Выход 0 подтверждает включения демона, который мы хотим. 1, однако, подтверждает отключенный демон, который не запустится.

Вывод
 

В случае неполноценного демона, используйте утилиту systemctl, чтобы включить его:

 

Поздравления! У нас есть запущенный экземпляр MongoDB, который будет автоматически запускать после перезагрузки системы.

Шаг 4 – Пример импорта массива данных (необязательно)

В отличие от других серверов баз данных, MongoDB не комплектуется с набором данными в своей базе данных test. Так как мы не хотим, экспериментировать с новым программным обеспечением, используя данные о производстве, мы загрузим образец набор данные из “Import Example Dataset”  документации «Начало работы с MongoDB». Документ JSON содержит коллекцию ресторанов, которые мы будем использовать на практике взаимодействия с MongoDB и не причинять вред к конфиденциальным данным.

Начните с перемещения в записываемый каталог:

 

Используйте команду curl и ссылку на MongoDB, чтобы загрузить файл в формате JSON:

 

Команда mongoimport будет вставлять данные в тестовую базу данных. Флаг –db определяет, какие базы данных используются в то время как флаг –collection указывает, где в базе данных будет храниться информация, а флаг –file указывает команду, какой файл для выполнения действия на импорт:

 

Выход подтверждает импорт данных из файла primer-dataset.json:

Вывод
 

С образцом набора данными, мы выполним запрос к ней.

Перезапустите MongoDB Shell:

 

Оболочка выбирает базу данных test по умолчанию, где мы импортировали наши данные.

Запрос в ресторанах с методом find(), для отображения списка всех restuarants в наборе данных. Так как набор содержит более 25 000 записей, использовать дополнительный метод limit(), чтобы уменьшить выходной сигнал запроса на указанный номер. Кроме того, метод pretty() делает информацию более удобочитаемой для человека с новой строкой и углублениями.

 

Вывод
 

Вы можете продолжать использовать образец набора данных, чтобы ознакомиться с MongoDB или удалить его с помощью метода db.restaurants.drop():

 

И, наконец, выйдите из оболочки с помощью команды exit:

 

Вывод

Вывод

В этой статье мы рассмотрели добавление репозитория третьих сторон к yum, установке сервера базы данных MongoDB, импортирование образца набора данных, а также выполнение простого запроса. Мы едва охватили возможности MongoDB. Вы можете создать свою собственную базу данных с несколькими коллекциями, заполнить их с большим количеством документов и начать строить надежные приложения.


Читайте также

Добавить комментарий

Войти с помощью: 

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Заполните форму и наш менеджер перезвонит Вам в самое ближайшее время!

badge
Обратный звонок 1
Отправить
galka

Спасибо! Ваша заявка принята

close
galka

Спасибо! Ваша заявка принята

close