Быстрый старт 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.