MongoDB
 sql >> база данни >  >> NoSQL >> MongoDB

Изпълнение на mongodb на ubuntu 16.04 LTS

Всеки, който надстрои или инсталира Ubuntu 16.04 (известен също като Ubuntu Xenial xerus), забеляза, че някои от старите услуги спряха да работят. Този проблем е известен от версия 15.04, но аз ще се съсредоточа върху горната версия.

Такъв беше моят случай с MongoDB. За да направим дълга история, накратко, Ubuntu премина от upstart към systemd. Едно често срещано решение на тези проблеми е да превключите обратно към upstart. Не считам тази опция за реално решение, със сигурност не и в дългосрочен план.

Истинско решение (IMHO) на проблема е да се напише системен скрипт, който ще стартира MongodDB. За съжаление момчетата от MongoDB все още не са предоставили такъв.

Така че трябваше да напиша един от нулата. За да създадете свой собствен, изпълнете следните стъпки:

  1. превключете към root чрез
    sudo su
    

или използвайте sudo за всички следващи стъпки.

  1. създайте скрипт за услуга (в този пример името на услугата е Mongodb)

    nano /lib/systemd/system/mongodb.service
    
  2. Съдържанието на файла трябва да бъде

    [Unit]
    Description=MongoDB Database Service
    Wants=network.target
    After=network.target
    
    [Service]
    ExecStart=/usr/bin/mongod --config /etc/mongod.conf
    ExecReload=/bin/kill -HUP $MAINPID
    Restart=always
    User=mongodb
    Group=mongodb
    StandardOutput=syslog
    StandardError=syslog
    
    [Install]
    WantedBy=multi-user.target
    

Можете също да изтеглите файла от тук:mongodb.service
Ето кратко описание на важните полета:
ExecStart - Е командата за бягане. Mongo се инсталира под /usr/bin и конфигурационният файл се записва в /etc
User - UID на процеса mongod.
Група - Gid на процеса mongod. Имайте предвид, че потребителят и групата се създават от инсталацията.

Сега, за да стартирате mongodb:

sudo systemctl start mongodb

За да спрете услугата mongodb, използвайте:

sudo systemctl stop mongodb

За да активирате mongodb при стартиране

sudo systemctl enable mongodb.service

Ако трябва да опресните услугите, използвайте:

 sudo systemctl daemon-reload


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Настройката на Mongo docker е повредена след рестартиране (unifi контролер на raspberry pi)

  2. Как се генерират ObjectId на MongoDB?

  3. Формат на датата Mongoose

  4. Не може да се монтира споделяне на файлове на azure като том на mongodb в екземпляри на контейнер на azure

  5. как да използвам попълване и агрегиране в едно и също изявление?