Установка Reindexer
Для Reindexer доступно 3 варианта использования:
- Автономный сервер (
Standalone
) . Reindexer работает как отдельный сервер. Приложения-клиенты подключаются к нему по сети по протоколам HTTP, RPC или gRPC. - Встроенный сервер (
Built-in server
). Встраивается в приложение как статическая библиотека. При этом другие приложения-клиенты могут подключаться к Reindexer по сети. - Встроенный (
Built-in
,Embedded
). Reindexer встраивается в приложение, которое он обслуживает, как статическая библиотека.
Установка Reindexer как автономного (Standalone
) сервера
Установка из официального Docker-образа
Самый простой вариант развертывания СУБД Reindexer. Перед его реализацией проверьте наличие в системе (и при необходимости установите) Docker. Для установки и запуска сервера БД этим способом выполните следующие действия:
-
Загрузите официальный Docker-образ Reindexer из Dockerhub.
Для этого используйте команду
docker pull reindexer/reindexer
-
Запустите контейнер из загруженного образа командой
docker run -p9088:9088 -p6534:6534 -it reindexer/reindexer
После запуска сервера web-интерфейс для управления Reindexer будет доступен по адресу http://127.0.0.1:9088/face.
Интерактивная документация REST API будет доступна по адресу http://127.0.0.1:9088/swagger.
Установка на Linux
На Linux СУБД Reindexer устанавливается через менеджер пакетов YUM или программу для установки, обновления и удаления программных пакетов apt.
Ниже приведены команды для установки Reindexer для разных дистрибутивов Linux.
Centos 7
Установка происходит через YUM.
yum install -y epel-release yum-utils
rpm --import https://repo.reindexer.io/RX-KEY.GPG
yum-config-manager --add-repohttps://repo.reindexer.io/centos-7/x86_64/
yum update
yum install reindexer-server
Redos 7
Установка происходит через YUM.
yum install -y epel-release yum-utils
rpm --import https://repo.reindexer.io/RX-KEY.GPG
yum-config-manager --add-repo https://repo.reindexer.io/redos-7/x86_64/
yum update
yum install reindexer-server
Fedora 38
Установка происходит через YUM.
yum install -y epel-release yum-utils
rpm --import https://repo.reindexer.io/RX-KEY.GPG
yum-config-manager --add-repohttps://repo.reindexer.io/fedora-38/x86_64/
yum update
yum install reindexer-server
Fedora 39
Установка происходит через YUM.
yum install -y epel-release yum-utils
rpm --import https://repo.reindexer.io/RX-KEY.GPG
yum-config-manager --add-repohttps://repo.reindexer.io/fedora-39/x86_64/
yum update
yum install reindexer-server
Ubuntu Focal
Установка происходит через apt.
curl https://repo.reindexer.io/RX-KEY.GPG | apt-key add
echo "deb https://repo.reindexer.io/ubuntu-focal /" >> /etc/apt/sources.list
apt update
apt install reindexer-server
Ubuntu Jammy
Установка происходит через apt.
curl https://repo.reindexer.io/RX-KEY.GPG | apt-key add
echo "deb https://repo.reindexer.io/ubuntu-jammy /" >> /etc/apt/sources.list
apt update
apt install reindexer-server
Debian 11 (bullseye)
Установка происходит через apt.
curl https://repo.reindexer.io/RX-KEY.GPG | apt-key add
echo "deb https://repo.reindexer.io/debian-bullseye /" >> /etc/apt/sources.list
apt update
apt install reindexer-server
Debian 12 (bookworm)
Установка происходит через apt.
curl https://repo.reindexer.io/RX-KEY.GPG | apt-key add
echo "deb https://repo.reindexer.io/debian-bookworm /" >> /etc/apt/sources.list
apt update
apt install reindexer-server
AltLinux P10
Установка происходит через apt-get. Требуется, чтобы предварительно были установлены пакеты ca-certificates
и apt-https
.
echo "rpm https://repo.reindexer.io/altlinux p10/x86_64 reindexer" > /etc/apt/sources.list.d/reindexer.list
apt-get update
apt-get install reindexer-server
Установка на macOS
Для утановки Reindexer на macOS можно воспользоваться менеджером пакетов Homebrew.
Команды для установки:
brew tap restream/reindexer
brew install reindexer
Установка на Windows
Для Windows Reindexer доступен в виде скомпилированного бинарного файла (.exe) для 32-разрядных и 64-разрядных систем. Скачайте и запустите его.
Установка из исходных кодов (from sources)
Это гибкий и универсальный способ, который подходит для разных архитектур и платформ. Разработчиками Reindexer протестированы: ARM32, AArch64, AMD64, i386.
Перед инсталляцией Reindexer этим способом проверьте наличие в системе или установите:
Следующий шаг — установка зависимостей. Для сборки Reindexer требуется g++ 8+, clang 7+ или MSVC 2019+. Для установки зависимостей воспользуйтесь скриптом:
curl -L https://github.com/Restream/reindexer/raw/master/dependencies.sh | bash -s
Затем установите Reindexer:
git clone https://github.com/Restream/reindexer
cd reindexer
mkdir -p build && cd build
cmake ..
make -j4
# установка в систему
sudo make install
Подключение Go-модуля
Для Standalone
-режима Go-байндинг не требует каких-то дополнительных библиотек и может быть добавлен в Go-приложение следующим образом:
go get -a github.com/restream/reindexer@master
Установка Reindexer для режимов Built-in
и Built-in server
Embeded
-варианты использования Reindexer, требуют наличия в системе static-библиотек (libreindexer, libreindexer_server и libreindexer_server_resources). Установить их можно либо из предсобранных пакетов, либо собрав Reindexer из исходных кодов (описано выше).
Подключение Go-модуля
В случае с Built-in
и Built-in server
для Go есть несколько вариантов использования:
-
В виде модуля в go.mod
В директории Go-приложения, содержащего go.mod:
go get -a github.com/restream/reindexer@master
В этом варианте static-библиотеки Reindexer будут подключаться через pkg-config, поэтому требуется, чтобы они были заранее установлены в системе.
-
С использованием директивы replace
Если требуется возможность модифицировать С++ часть Reindexer в процессе работы с Go-приложением, то можно использовать в go.mod директиву replace. Сам модуль Reindexer должен быть загружен в GOPATH. В этом случае также есть возможность провести сборку через
go generate
и отдельная установка static-библиотек Reindexer в систему не потребуется. При таком варианте сборки пути к библиотекам будут напрямую сохранены в go-файлы байндинга, а pkg-config задействован не будет.# Получение исходных кодов Reindexer go get -a github.com/restream/reindexer@master # Сборка для built-in go generate $GOPATH/src/reindexer/bindings/builtin # Сборка для built-in server (опционально) go generate $GOPATH/src/reindexer/bindings/builtinserver
После загрузки и сборки Reindexer его требуется добавить в go.mod приложения
# Переход в директорию приложения cd /your/app/path # Добавление Reindexer в go.mod go get -a github.com/restream/reindexer@master # Добавление replace-директивы для использования локальной версии Reindexer из GOPATH go mod edit -replace github.com/restream/reindexer=$GOPATH/src/github.com/restream/reindexer
-
Вендоринг
Штатный Go-вендоринг полноценно не работает с CGO. Из коробки возможно такой подход похволяет вендорить только Go-часть Reindexer’a. В качестве альтернативы можно использовать утилиту vend. С ней после вендоринга будет возможность вызвать
go generate -mod=vendor
для сборки CGO-части.