Установка Dgraph на CentOS 7 / Ubuntu 18.04

by itisgood

Вопрос:

  • Как установить Dgraph на CentOS 7 ?
  • Как установить Dgraph на Ubuntu 18.04?

Dgraph – это база данных распределенных графов с открытым исходным кодом, созданная с нуля для широкого набора запросов.

Это масштабируемая, распределённая графоориентированная система управления базами данных. СУБД изначально развивается с оглядкой на обеспечение минимальных задержек выполнения запросов, что позволяет использовать её для обработки информации в режиме реального времени

Особенности Dgraph

  • РАСПРОСТРАНЕНИЕ: Dgraph разделяет данные по горизонтали до сотен серверов. Он предназначен для минимизации числа обращений к диску и сетевых вызовов.
  • БЫСТРОТА: Dgraph построен как поисковая система. Запросы разбиты на подзапросы, которые выполняются одновременно для достижения низкой задержки и высокой пропускной способности.
  • ТРАНЗАКЦИОННЫЙ: С распределенными транзакциями ACID вы можете сосредоточиться на логике своего приложения, а не беспокоиться о целостности данных.
  • ВЫСОКО ДОСТУПНО: Dgraph автоматически запускает синхронную репликацию, поэтому потеря жесткого диска или сервера не влияет на ваши службы.
  • РЕБАЛАНСИРОВАНИЕ ЧАСТЕЙ: Dgraph обеспечивает равномерную балансировку данных между серверами, автоматически перемещая осколки, улучшая использование ресурсов для обеспечения высокой производительности.
  • ГИБКАЯ СХЕМА: Быстрая итерация важна для того, чтобы ваши пользователи были довольны. Гибкая гибкая схема работает с вами по мере развития вашего приложения.
  • ПОЛЬЗОВАТЕЛЬСКИЙ ИНТЕРФЕЙС: Dgraph предоставляет пользовательский интерфейс, так что вы можете просматривать и управлять своими данными, упрощая процесс управления.

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

Dgraph поддерживает синтаксис запросов, подобный GraphQL, и отвечает в JSON и протокольных буферах через GRPC и HTTP.

Установика Dgraph на CentOS 7 / Ubuntu 18.04

В этом разделе мы скачаем двоичные файлы Dgraph и настроим сервисные модули systemd.

Первый шаг – загрузка двоичных файлов.

Шаг 1: Загрузите двоичные файлы Dgraph в CentOS 7 / Ubuntu 18.04

Загрузите последние версии Dgraph для вашей ОС.

curl https://get.dgraph.io -sSf | bash

Согласитесь с условиями лицензии сообщества Dgraph, когда вас спросят.

Do you agree to the terms of the Dgraph Community License? [Y/n] Y
Latest release version is v1.0.11.
Downloading checksum file for v1.0.11 build.
################################################################## 100.0%
Download complete.
......

Успешная установка должна дать результат, аналогичный приведенному ниже.

Download complete.
Inflating binaries (password may be required).
Dgraph binaries v1.0.11 have been installed successfully in /usr/local/bin.
Please visit https://docs.dgraph.io/get-started for further instructions on usage.

Двоичные файлы Dgraph будут установлены в /usr/local/bin.

Убедитесь, что этот каталог находится в вашем $PATH.

$ ls /usr/local/bin/dgraph<TAB>
dgraph        dgraph-ratel

Шаг 2: Создайте юниты systemd

Поскольку и CentOS 7, и Ubuntu 18.04 используют systemd init system, мы настроим службы Dgraph для использования Systemd для управления его состояниями.

Сначала создайте системную учетную запись для службы dgraph:

sudo groupadd --system dgraph
sudo useradd --system -d /var/run/dgraph -s /bin/false -g dgraph dgraph

Создайте необходимые каталоги – для журналов и файлов состояния.

sudo mkdir -p /var/log/dgraph
sudo mkdir -p /var/run/dgraph/{p,w,zw}
sudo chown -R dgraph:dgraph /var/{run,log}/dgraph

Создайте служебные файлы systemd, начиная с dgraph.service.

cat <<EOF | sudo tee /etc/systemd/system/dgraph.service
[Unit]
Description=dgraph.io data server
Wants=network.target
After=network.target dgraph-zero.service
Requires=dgraph-zero.service

[Service]
Type=simple
ExecStart=/usr/local/bin/dgraph alpha --lru_mb 2048 -p /var/run/dgraph/p -w /var/run/dgraph/w
StandardOutput=journal
StandardError=journal
User=dgraph
Group=dgraph

[Install]
WantedBy=multi-user.target
EOF

Также добавьте один для dgraph-zero.service.

cat <<EOF | sudo tee /etc/systemd/system/dgraph-zero.service
[Unit]
Description=dgraph.io zero server
Wants=network.target
After=network.target

[Service]
Type=simple
ExecStart=/usr/local/bin/dgraph zero --wal /var/run/dgraph/zw
StandardOutput=journal
StandardError=journal
User=dgraph
Group=dgraph

[Install]
WantedBy=multi-user.target
RequiredBy=dgraph.service
EOF

Наконец, создайте graph-ui.service.

cat <<EOF | sudo tee /etc/systemd/system/dgraph-ui.service
[Unit]
Description=dgraph.io UI server
Wants=network.target
After=network.target

[Service]
Type=simple
ExecStart=/usr/local/bin/dgraph-ratel
StandardOutput=journal
StandardError=journal
User=dgraph
Group=dgraph

[Install]
WantedBy=multi-user.target
EOF

Затем включите и запустите службы dgraph.

sudo systemctl daemon-reload
sudo systemctl enable --now dgraph
sudo systemctl enable --now dgraph-ui

Проверьте статус, чтобы подтвердить, что все службы работают.

$ systemctl status dgraph dgraph-zero dgraph-ui
 ● dgraph.service - dgraph.io data server
    Loaded: loaded (/etc/systemd/system/dgraph.service; enabled; vendor preset: disabled)
    Active: active (running) since Mon 2019-02-25 05:27:58 UTC; 1min 3s ago
  Main PID: 5585 (dgraph)
    CGroup: /system.slice/dgraph.service
            └─5585 /usr/local/bin/dgraph alpha --lru_mb 2048 -p /var/run/dgraph/p -w /var/run/dgraph/w
 ● dgraph-zero.service - dgraph.io zero server
    Loaded: loaded (/etc/systemd/system/dgraph-zero.service; disabled; vendor preset: disabled)
    Active: active (running) since Mon 2019-02-25 05:27:58 UTC; 1min 3s ago
  Main PID: 5584 (dgraph)
    CGroup: /system.slice/dgraph-zero.service
            └─5584 /usr/local/bin/dgraph zero --wal /var/run/dgraph/zw
 ● dgraph-ui.service - dgraph.io UI server
    Loaded: loaded (/etc/systemd/system/dgraph-ui.service; enabled; vendor preset: disabled)
    Active: active (running) since Mon 2019-02-25 05:28:20 UTC; 41s ago
  Main PID: 5657 (dgraph-ratel)
    CGroup: /system.slice/dgraph-ui.service
            └─5657 /usr/local/bin/dgraph-ratel

Разрешите порты 8000 и 8080 на брандмауэре.

# CentOS 7
sudo firewall-cmd --add-port={8000,8080}/tcp --permanent

# Ubuntu 18.04
sudo ufw allow proto tcp from any to any port 8000,8080

Доступ к интерфейсу Dgraph

Чтобы получить доступ к интерфейсу Dgraph, откройте IP-адрес сервера или имя хоста с портом 8000.

Вы должны увидеть интерфейс, подобный приведенному ниже.

Выберите интерфейс Ratel для загрузки. На следующей странице введите URL Dgraph,  должен быть порт «8080».

Затем вы должны получить на экране Dgraph Dashboard.

You may also like

Leave a Comment