1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/oceanbase-oblogproxy

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
manual.md 6.5 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
gitlife-traslator Отправлено 26.11.2024 11:51 fcfd3fd

Справочное руководство

Компиляция

Предварительные условия

  1. GCC>=5.2, make, libstdc++-static, libasan (если включено WITH_ASAN).
  2. CMake >= 3.2.
  3. Предварительно скомпилированный liboblog.so, который зависит от libaio, должен быть установлен.
  4. Openssl 1.0.* (в настоящее время поддерживается только amd64).

Процесс компиляции

  1. Получите liboblog.so: https://github.com/oceanbase/oceanbase. Здесь предполагается, что вы успешно скомпилировали и поместили его заголовочные файлы и so в /path/to/liboblog.

  2. [Необязательно] Создайте каталог среды компиляции:

mkdir buildenv
  1. Выполните компиляцию с помощью CMake:
cd buildenv
# Установите переменные среды CMake, чтобы можно было найти предварительно скомпилированный liboblog
CMAKE_INCLUDE_PATH=/path/to/liboblog CMAKE_LIBRARY_PATH=/path/to/liboblog cmake ..
# Выполните команду
make -j 6

Если всё прошло нормально, в текущем каталоге будет создан двоичный файл logproxy, а oblogmsg.so также будет скопирован в текущий каталог.

Параметры компиляции

В шаге 2 процесса компиляции можно добавить параметры компиляции для изменения поведения по умолчанию. Например, для компиляции Demo. После успешной компиляции в текущем каталоге также будет создан двоичный файл demo_client.

cd buildenv
CMAKE_INCLUDE_PATH=/path/to/liboblog CMAKE_LIBRARY_PATH=/path/to/liboblog cmake -DWITH_DEMO=ON ..
make -j 6

Все параметры компиляции:

Параметр По умолчанию Описание
WITH_DEBUG ON Режим отладки с символами Debug
WITH_ASAN OFF Компиляция с AddressSanitizer
WITH_TEST OFF Тестирование
WITH_DEMO OFF Демоверсия
WITH_GLOG ON Использование glog
USE_OBLOGMSG OFF Использование предварительно скомпилированного oblogmsg
USE_CXX11_ABI ON Использовать ли C++11 ABI. Обратите внимание, что если используется предварительно скомпилированная зависимость, необходимо поддерживать согласованность, иначе символы не будут найдены

Зависимости компиляции

По умолчанию автоматически загружаются и компилируются зависимые библиотеки. Однако есть несколько исключений:

  • openssl: в настоящее время он ищет установленную систему, но версии API 1.0.* и 1.1.* имеют небольшое количество несовместимостей, текущая реализация liboblog и logproxy основана на 1.0.*, и версии должны совпадать.
  • liboblog: как описано выше, его необходимо скомпилировать самостоятельно, а путь к нему должен быть указан переменными среды, во время выполнения необходимо указать LD_LIBRARY_PATH.
  • libaio: liboblog зависит от этого, его нужно установить заранее.
  • oblogmsg: liboblog и logproxy совместно зависят от oblogmsg, автоматическая зависимость будет использовать динамическую библиотеку и копироваться в каталог компиляции, во время выполнения необходимо указать LD_LIBRARY_PATH.

Выполнение

LogProxy использует один файл конфигурации, который можно использовать с conf.json в каталоге кода:

# Укажите каталог liboblog.so и позвольте logproxy динамически зависеть от него
export LD_LIBRARY_PATH=/путь/к/liboblog
./logproxy -f ./conf/conf.json

По умолчанию он прослушивает порт 2983, измените поле service_port в conf.json, чтобы изменить порт прослушивания.

Теперь вы можете использовать LogProxy Client для подписки на данные OB, см. документацию по использованию.

Шифрование канала

TLS-связь между клиентом и LogProxy

Измените следующие поля в conf.json:

  • channel_type: «tls», чтобы включить TLS для связи с клиентом.
  • tls_ca_cert_file: путь к файлу сертификата CA.
  • tls_cert_file: путь к сертификату сервера.
  • tls_key_file: путь к закрытому ключу сервера.
  • tls_verify_peer: true, чтобы включить проверку клиента.

Соответствующий клиент также должен быть настроен соответствующим образом, см. шифрование канала LogProxy Client.

TLS-связь между LogProxy (liboblog) и ObServer

Измените следующие поля в conf.json:

  • liboblog_tls: true, чтобы включить TLS для связи с ObServer.
  • liboblog_tls_cert_path: путь к файлам сертификатов ObServer, можно скопировать папку кошелька из пути развёртывания ObServer, убедитесь, что этот путь содержит: ca.pem, client-cert.pem, client-key.pem.

Эти пути должны быть абсолютными путями.

Опубликовать ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://api.gitlife.ru/oschina-mirror/oceanbase-oblogproxy.git
git@api.gitlife.ru:oschina-mirror/oceanbase-oblogproxy.git
oschina-mirror
oceanbase-oblogproxy
oceanbase-oblogproxy
master