Быстрый старт MatrixGate

В этом документе описывается основное использование MatrixGate, включая следующие темы:


1 Генерация файла конфигурации mxgate

Сначала укажите целевую базу данных и таблицы для генерации файла конфигурации mxgate. В данном примере используется кластер из трёх узлов: мастер-узел (Master) с именем mdw, а сегментные узлы — sdw1 и sdw2.

[mxadmin@mdw ~]$ mxgate config --db-database demo --target public.testtable --target public.testtable2 --allow-dynamic > mxgate.conf

Приведённая выше команда создаёт файл конфигурации с именем mxgate.conf. Вы можете настроить параметры загрузки данных для таблиц testtable и testtable2, либо использовать глобальные параметры по умолчанию для загрузки данных в другие таблицы.


2 Изменение файла конфигурации mxgate (необязательно)

При необходимости измените файл конфигурации mxgate, например, чтобы задать разделители данных. Пропустите этот шаг, если используются настройки по умолчанию. Конфигурация для таблиц testtable и testtable2 выглядит следующим образом:

    [[job.target]]
      # delimiter = "|"
      # exclude-columns = []
      # format = "text"
      name = "job_text_to_public.testtable"
      # null-as = ""
      table = "public.testtable"
      # time-format = "unix-second"
      # use-auto-increment = true

    [[job.target]]
      # delimiter = "|"
      # exclude-columns = []
      # format = "text"
      name = "job_text_to_public.testtable2"
      # null-as = ""
      table = "public.testtable2"
      # time-format = "unix-second"
      # use-auto-increment = true

Если разделитель для таблицы testtable@, а для testtable2%, обновите конфигурацию, как показано ниже:

    [[job.target]]
      delimiter = "@"
      # exclude-columns = []
      # format = "text"
      name = "job_text_to_public.testtable"
      # null-as = ""
      table = "public.testtable"
      # time-format = "unix-second"
      # use-auto-increment = true

    [[job.target]]
      delimiter = "%"
      # exclude-columns = []
      # format = "text"
      name = "job_text_to_public.testtable2"
      # null-as = ""
      table = "public.testtable2"
      # time-format = "unix-second"
      # use-auto-increment = true

По умолчанию mxgate ожидает входящие данные на порту 8086. В файле mxgate.conf можно найти параметр http-port в секции source.http, установленный в значение 8086. При необходимости измените его на другой порт:

[source]

  ## Source plugin is the data entrance to MatrixGate
  ## Types restricted to: http
  source = "http"

  [source.http]

    ## Port of http push
    # http-port = 8086

    ## Maximum request body size (after gzip)
    ## The server rejects requests with bodies exceeding this limit.
    # max-body-bytes = 4194304

    ## The maximum number of concurrent HTTP connections to the server
    ## The server response with 503 after exceed this limit.
    # max-concurrency = 40000

3 Запуск mxgate

Запустите mxgate с использованием файла конфигурации, подключитесь к базе данных demo и подготовьтесь к приёму запросов на загрузку данных.

[mxadmin@mdw ~]$ mxgate start --config mxgate.conf


4 Просмотр состояния службы

[mxadmin@mdw ~]$ mxgate status


5 Остановка службы

[mxadmin@mdw ~]$ mxgate stop

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

[mxadmin@mdw ~]$ mxgate stop --force

Примечание!
Полный список параметров командной строки MatrixGate см. в разделе Параметры командной строки MatrixGate; описание основных функций — в разделе Основные функции MatrixGate.