Как установить ArangoDB на Ubuntu 18.04 Bionic Beaver

by itisgood

Добро пожаловать в наше руководство по установке ArangoDB на Ubuntu 18.04.

ArangoDB – это многомодельная база данных с открытым исходным кодом с гибкими моделями данных для графиков, документов и ключевых значений.

Она предназначена для высокопроизводительных приложений, которые используют SQL-подобный язык запросов или расширения JavaScript.

ArangoDB совместим с ACID и предназначен для горизонтального масштабирования с помощью нескольких щелчков мыши. Кроме того, он также предоставляет внутренний API, который используется для связи с клиентами.

ArangoDB не поддерживает SQL, поскольку поставляется с собственным декларативным языком AQL (ArangoDB Query Language). AQL – это единый SQL-подобный язык запросов для всех моделей данных базы данных.

Ключевые особенности ArangoDB

  • Это полностью открытый исходный код и выпущен под лицензией Apache 2.0.
  • Имеет гибкое моделирование данных, которое позволяет моделировать ваши данные в виде комбинации пар ключ-значение, документов или графиков – идеально подходит для социальных отношений
  • Поставляется с мощным языком запросов (AQL) для изменения и извлечения данных.
  • Вы можете выполнять запросы к нескольким документам или коллекциям с необязательной последовательностью транзакций и изоляцией
  • Поддержка репликации и разделения: вы можете настроить базу данных в конфигурации «ведущий-ведомый» или распределить большие наборы данных по нескольким серверам.
  • Вы можете использовать ArangoDB в качестве сервера приложений и объединить ваше приложение и базу данных для максимальной пропускной способности.
  • Хорошее хранилище для производительности и долговечности данных благодаря поддержке современного оборудования для хранения данных, такого как SSD и большие кэши.
  • ArangoDB может быть легко развернут как отказоустойчивый распределенный конечный автомат, который может служить головным мозгом распределенных устройств

Установите ArangoDB на Ubuntu 18.04

Процесс установки ArangoDB на Ubuntu 18.04 прост.

Это руководство демонстрирует установку ArangoDB в одном экземпляре, но вы также можете сделать:

  • Master / Slave установка
  • Активная настройка отработки отказа
  • Кластерная установка
  • Настройка нескольких центров обработки данных и отдельного агентства

Пакеты легко доступны в репозитории Apt

. Единственная ручная работа – добавление репозитория apt в вашу систему с помощью приведенных ниже команд.

Шаг 1: Добавьте репозиторий ArangoDB Apt

Выполните следующую команду, чтобы добавить репозиторий apt в вашу систему.

echo 'deb https://download.arangodb.com/arangodb34/DEBIAN/ /' | sudo tee /etc/apt/sources.list.d/arangodb.list

Шаг 2: Импортируйте ключ репозитория

Следующим шагом является импорт ключа GPG, используемого для подписи пакетов.

wget -q https://download.arangodb.com/arangodb34/DEBIAN/Release.key -O- | sudo apt-key add -

Вы должны увидеть сообщение «ОК» в качестве вывода.

Шаг 3: Обновите систему и установите ArangoDB

Обновите кеш пакетов Apt, затем установите ArangoDB в Ubuntu 18.04.

sudo apt update
sudo apt -y install apt-transport-https
sudo apt -y install arangodb3

Вам нужно будет ответить на пару вопросов во время установки.

1. Установите пароль root в БД

Введите пароль и подтвердите его.

2. Выберите, если вы хотите автоматическое обновление файлов базы данных.

3. Выберите механизм хранения базы данных для использования.

4. Установите резервную копию базы данных перед обновлением.

Подождите, пока установка завершится, затем перейдите к шагу 3, где вы запустите и управляете службой ArangoDB с помощью systemd.

Если вы пропустили установку пароля root во время установки, вы можете защитить ArangoDB после установки, выполнив:

$ arango-secure-installation

Шаг 4: Запустите сервис ArangoDB

Служба должна быть автоматически запущена после установки.

Если она не запущена, вы можете запустить ее вручную с помощью команды systemctl service management.

sudo systemctl start arangodb3
sudo systemctl enable arangodb3

Проверьте сервис с помощью приведенной ниже команды.

$ systemctl status arangodb3
 ● arangodb3.service - ArangoDB database server
    Loaded: loaded (/lib/systemd/system/arangodb3.service; enabled; vendor preset: enabled)
    Active: active (running) since Fri 2019-02-15 18:43:29 CET; 2min 24s ago
  Main PID: 4140 (arangod)
     Tasks: 18 (limit: 131072)
    CGroup: /system.slice/arangodb3.service
            └─4140 /usr/sbin/arangod --uid arangodb --gid arangodb --pid-file /var/run/arangodb3/arangod.pid --temp.path /var/tmp/arangodb3 --log.foregr
 Feb 15 18:43:30 ubuntu-2gb-nbg1-1 arangod[4140]: 2019-02-15T17:43:30Z [4140] INFO ArangoDB 3.4.2-1 [linux] 64bit, using jemalloc, build tags/v3.4.2.1-0
 Feb 15 18:43:30 ubuntu-2gb-nbg1-1 arangod[4140]: 2019-02-15T17:43:30Z [4140] INFO detected operating system: Linux version 4.15.0-42-generic (buildd@lg
 Feb 15 18:43:30 ubuntu-2gb-nbg1-1 arangod[4140]: 2019-02-15T17:43:30Z [4140] INFO {authentication} Jwt secret not specified, generating…
 Feb 15 18:43:30 ubuntu-2gb-nbg1-1 arangod[4140]: 2019-02-15T17:43:30Z [4140] INFO using storage engine rocksdb
 Feb 15 18:43:30 ubuntu-2gb-nbg1-1 arangod[4140]: 2019-02-15T17:43:30Z [4140] INFO {cluster} Starting up with role SINGLE
 Feb 15 18:43:30 ubuntu-2gb-nbg1-1 arangod[4140]: 2019-02-15T17:43:30Z [4140] INFO {syscall} file-descriptors (nofiles) hard limit is 131072, soft limit
 Feb 15 18:43:30 ubuntu-2gb-nbg1-1 arangod[4140]: 2019-02-15T17:43:30Z [4140] WARNING {threads} --server.threads (64) is more than eight times the numbe
 Feb 15 18:43:30 ubuntu-2gb-nbg1-1 arangod[4140]: 2019-02-15T17:43:30Z [4140] INFO {authentication} Authentication is turned on (system only), authentic
 Feb 15 18:43:31 ubuntu-2gb-nbg1-1 arangod[4140]: 2019-02-15T17:43:31Z [4140] INFO using endpoint 'http+tcp://127.0.0.1:8529' for non-encrypted requests
 Feb 15 18:43:32 ubuntu-2gb-nbg1-1 arangod[4140]: 2019-02-15T17:43:32Z [4140] INFO ArangoDB (version 3.4.2-1 [linux]) is ready for business. Have fun!

Статус должен вернуть «running».

Шаг 5: Запуск оболочки ArangoDB

Чтобы запустить оболочку ArangoDB, запустите:

# arangosh
 Please specify a password: <Enter-db-root-password-here>
                                    _     
_  _ _ _ _ _ _ _ _ _ | | 
/ | '__/ _ | ' \ / ` |/ \/ | '_ \ | (| | | | (| | | | | (| | () __ \ | | | __,|| __,|| ||_, |_/|/| ||
|_/ 
arangosh (ArangoDB 3.4.2-1 [linux] 64bit, using jemalloc, build tags/v3.4.2.1-0-g91afc6501f, VPack 0.1.33, RocksDB 5.16.0, ICU 58.1, V8 5.7.492.77, OpenSSL 1.1.0j 20 Nov 2018)
Copyright (c) ArangoDB GmbH
Connected to ArangoDB 'http+tcp://127.0.0.1:8529' version: 3.4.2-1 [server], database: '_system', username: 'root'
Type 'tutorial' for a tutorial or 'help' to see common examples
127.0.0.1:8529@_system>

Создайте тестовую базу данных.

27.0.0.1:8529@_system> db._createDatabase("testdb");
 true

Создайте пользователя базы данных и предоставьте доступ к базе данных, созданной выше.

var users = require("@arangodb/users");
users.save("testuser@localhost", "dbuserpassword");
users.grantDatabase("testuser@example", "testdb");

Список баз.

127.0.0.1:8529@_system> db._databases()
 [ 
   "_system",  
   "testdb" 
 ]

Теперь вы можете подключиться к тестовой базе данных, используя пользователя testuser@localhost.

# arangosh --server.username "testuser@localhost" --server.database testdb
 Please specify a password: 
                                    _     
_  _ _ _ _ _ _ _ _ _ | | 
/ | '__/ _ | ' \ / ` |/ \/ | '_ \ | (| | | | (| | | | | (| | () __ \ | | | __,|| __,|| ||_, |_/|/| ||
|_/ 
arangosh (ArangoDB 3.4.2-1 [linux] 64bit, using jemalloc, build tags/v3.4.2.1-0-g91afc6501f, VPack 0.1.33, RocksDB 5.16.0, ICU 58.1, V8 5.7.492.77, OpenSSL 1.1.0j 20 Nov 2018)
Copyright (c) ArangoDB GmbH
Connected to ArangoDB 'http+tcp://127.0.0.1:8529' version: 3.4.2-1 [server], database: 'testdb', username: 'testuser@localhost'
Type 'tutorial' for a tutorial or 'help' to see common examples
127.0.0.1:8529@testdb>

Чтобы удалить базу данных, используйте:

127.0.0.1:8529@_system> db._dropDatabase("testdb");
 true

Шаг 6: Доступ к веб-интерфейсу администратора ArangoDB

Сервер ArangoDB имеет встроенный веб-интерфейс для администрирования.

Он позволяет вам управлять базами данных, коллекциями, документами, пользователями, графиками, выполнять и объяснять запросы, просматривать статистику сервера и многое другое.

Служба настроена на прослушивание адреса локального хоста, но ее можно изменить для прослушивания IP-адреса локальной сети.

Закомментируйте строку endpoint = tcp://127.0.0.1:852 и добавьте IP-адрес вашей сети.

$ sudo vim /etc/arangodb3/arangod.conf
...
#endpoint = tcp://127.0.0.1:8529
endpoint = tcp://192.168.10.11:8529

Перезапустите сервис ArangoDB после внесения этого изменения.

sudo systemctl restart arangodb3

Если у вас включен брандмауэр UFW, убедитесь, что в брандмауэре разрешен порт 8529.

sudo ufw allow proto tcp from any to any port 8529

Получите доступ к панели администратора по адресу http://[serverip или localhost]:8529.

По умолчанию аутентификация включена.

Укажите имя пользователя и пароль для аутентификации  и выберите базу данных для подключения на следующем экране.

Веб-интерфейс управления базой данных должен выглядеть примерно так:

 

You may also like

Leave a Comment