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

OSCHINA-MIRROR/WeiYe-Jing-datax-web

Клонировать/Скачать
userGuid.md 14 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
Отправлено 11.03.2025 06:18 6409714

Пользовательская инструкция для DataX Web

1. Скачивание master ветки или выпуска на локальную машину с GitHub

Ссылка для скачивания DataX Web Иллюстрация

2. Установка DataX

Метод 1: Прямое скачивание пакета DataX

Ссылка для скачивания DataX

После скачивания распакуйте его в любую директорию на вашей машине. Войдите в каталог bin и запустите синхронизацию:

$ cd {YOUR_DATAX_HOME}/bin
$ python datax.py {YOUR_JOB.json}

Проверьте установку:

$ python {YOUR_DATAX_HOME}/bin/datax.py {YOUR_DATAX_HOME}/job/job.json

Метод 2: Скачивание исходного кода DataX и компиляция

Шаг 1: Скачивание исходного кода DataX

$ git clone git@github.com:alibaba/DataX.git

Шаг 2: Компиляция через Maven

$ cd {DataX_source_code_home}
$ mvn -U clean package assembly:assembly -Dmaven.test.skip=true

Если сборка прошла успешно, вы увидите следующий вывод:

[INFO] BUILD SUCCESS
[INFO] -------------------------------------------------------
[INFO] Total time: 08:12 min
[INFO] Finished at: 2015-12-13T16:26:48+08:00
[INFO] Final Memory: 133M/960M
[INFO] -------------------------------------------------------

Успешно скомпилированный пакет DataX будет находиться в {DataX_source_code_home}/target/datax/datax/, структура каталога будет такой:```shell $ cd {DataX_source_code_home} $ ls ./target/datax/datax/ bin conf job lib log log_perf plugin script tmp

* Конфигурационный пример: чтение данных из потока и вывод на консоль
     * Шаг 1: Создание конфигурационного файла (в формате JSON)
         Можно использовать команду для просмотра шаблона конфигурации: `python datax.py -r {YOUR_READER} -w {YOUR_WRITER}`
         ```shell
         $ cd {YOUR_DATAX_HOME}/bin
         $ python datax.py -r streamreader -w streamwriter
         DataX (UNKNOWN_DATAX_VERSION), From Alibaba!
         Copyright (C) 2010-2015, Alibaba Group.  All Rights Reserved.
         Для получения информации о streamreader обратитесь к документации:
             https://github.com/alibaba/DataX/blob/master/streamreader/doc/streamreader.md
         Для получения информации о streamwriter обратитесь к документации:
             https://github.com/alibaba/DataX/blob/master/streamwriter/doc/streamwriter.md
         Сохраните следующую конфигурацию в виде файла JSON и используйте
             python {DATAX_HOME}/bin/datax.py {JSON_FILE_NAME}.json
         чтобы запустить задачу.
         {
             "job": {
                 "content": [
                     {
                         "reader": {
                             "name": "streamreader",
                             "parameter": {
                                 "column": [],
                                 "sliceRecordCount": ""
                             }
                         },
                         "writer": {
                             "name": "streamwriter",
                             "parameter": {
                                 "encoding": "",
                                 "print": true
                             }
                         }
                     }
                 ],
                 "setting": {
                     "speed": {
                         "channel": ""
                     }
                 }
             }
         }
         ```
         На основе шаблона конфигурация JSON может выглядеть так:
``````json
{
    "job": {
        "content": [
            {
                "reader": {
                    "name": "streamreader",
                    "parameter": {
                        "sliceRecordCount": 10,
                        "column": [
                            {
                                "type": "long",
                                "value": "10"
                            },
                            {
                                "type": "string",
                                "value": "hello,你好,世界-DataX"
                            }
                        ]
                    }
                },
                "writer": {
                    "name": "streamwriter",
                    "parameter": {
                        "encoding": "UTF-8",
                        "print": true
                    }
                }
            }
        ]
    }
}

Второй шаг: запуск DataX

$ cd {YOUR_DATAX_DIR_BIN}
$ python datax.py ./stream2stream.json

Синхронизация завершена, лог выводится следующим образом:

...
2015-12-17 11:20:25.263 [job-0] INFO  JobContainer -
Запуск задачи                      : 2015-12-17 11:20:15
Завершение задачи                 : 2015-12-17 11:20:25
Общее время выполнения задачи     :              10s
Средний объём данных за секунду    :             205Б/с
Скорость записи записей           :             5зап/с
Количество прочтённых записей     :              50
Общее количество ошибок при чтении и записи :              0
```# Шаг 3: Web-развертка
```## 1. Развертывание в Linux среде

[развертывание в Linux среде](https://github.com/WeiYe-Jing/datax-web/blob/master/doc/datax-web/datax-web-deploy.md)


## 2. Развертывание среды разработки (или см. документ [Debug](https://github.com/WeiYe-Jing/datax-web/files/5082018/datax-web.Debug.pdf))

### 2.1 Создание базы данных

#### Выполнить файл `datax_web.sql` в папке `bin/db` (обратите внимание на строки обновления для старых версий с указанием имени базы данных)

### 2.2 Изменение конфигураций проекта

### 1. Изменение файла `application.yml` в директории `datax_admin/resources`

Настройка источника данных

datasource: username: root password: root url: jdbc:mysql://localhost:3306/datax_web?serverTimezone=Asia%2FShanghai&useLegacyDatetimeCode=false&useSSL=false&nullNamePatternMatchesAll=true&useUnicode=true&characterEncoding=UTF-8 driver-class-name: com.mysql.jdbc.Driver


Измените конфигурацию источника данных, поддерживаются только MySQL.

Конфигурирование вывода SQL запросов mybatis-plus

logging: level: com.wugui.datax.admin.mapper: error path: ./data/applogs/admin


Измените путь логов `path`.

Настройка отправки электронной почты datax-web

mail: host: smtp.qq.com port: 25 username: xxx@qq.com password: xxx properties: mail: smtp: auth: true starttls: enable: true required: true socketFactory: class: javax.net.ssl.SSLSocketFactory


Измените конфигурацию отправки электронной почты (необходимо при необходимости).

### 2. Изменение файла `application.yml` в директории `datax_executor/resources`

Настройка логирования

logging: config: classpath:logback.xml path: ./data/applogs/executor/jobhandler ```Измените путь логов path.

datax:
  job:
    admin:
      ### Address of datax-web admin
      addresses: http://127.0.0.1:8080
    executor:
      appname: datax-executor
      ip:
      port: 9999
      ### Path for storing task logs
      logpath: ./data/applogs/executor/jobhandler
      ### Number of days to retain task logs
      logretentiondays: 30
  executor:
    jsonpath: /Users/mac/data/applogs
```  pypath: /Users/mac/tools/datax/bin/datax.py
```Изменение конфигурации datax.job
- admin.addresses адрес развертывания datax_admin, если в распределенной системе существует несколько адресов, они должны быть разделены запятой; выполнители будут использовать этот адрес для регистрации "сердцебиения выполнителя" и обратного вызова "результата задачи";
- executor.appname имя приложения выполнителя, уникальное обозначение каждого кластера выполнителей, используется как основание для группировки сердцебиений выполнителей;
- executor.ip значение по умолчанию — пустое поле, что указывает на автоматическое получение IP; при наличии нескольких сетевых адаптеров можно вручную установить конкретный IP, который не будет связан с хостом, а используется только для связи; информация об адресах используется для "регистрации выполнителей" и "запроса центром управления и триггеринга задач";
- executor.port порт сервера выполнителя, значение по умолчанию — 9999; при одиночном размещении нескольких выполнителей, следует убедиться, что каждый имеет различный порт;
- executor.logpath путь к хранилищу логов выполнения на жестком диске, требуется наличие прав на чтение и запись для этого пути;
- executor.logretentiondays количество дней хранения логов выполнителя, просроченные логи будут автоматически очищаться; ограничивающее значение должно быть больше или равно 3 для активации этой функции; в противном случае, например -1, функция автоматической очистки отключается;

executor.jsonpath путь к临时JSON文件
pypath 数据库启动脚本的地址,例如:xxx/datax/bin/datax.pyЕсли система настроена для переменной окружения DataX (DATAX_HOME), то logpath, jsonpath, pypath могут быть не указаны, а логи и временные JSON будут храниться в пути переменной окружения.

# 4. Запуск проекта

### 1. Локальная среда разработки в IDEA

- 1. Запустите `DataXAdminApplication` в папке `datax_admin`.
- 2. Запустите `DataXExecutorApplication` в папке `datax_executor`.

![](https://datax-web.oss-cn-hangzhou.aliyuncs.com/doc/admin_start_log.png)

При успешном запуске администратора будут выведены три адреса: два адреса документации API и один адрес фронтенд-страницы.

# 5. Успешный запуск

При успешном запуске откройте страницу (по умолчанию имя пользователя администратора: admin, пароль: 123456):
http://localhost:8080/index.html#/dashboard
![](https://datax-web.oss-cn-hangzhou.aliyuncs.com/doc/dashboard.png)

# 6. Распределённая установка

- Поддерживается распределённая установка центра управления и исполнителей для повышения отказоустойчивости и доступности системы управления.

* 1. Распределённая установка центра управления:

    Конфигурация базы данных должна быть одинаковой;
    Часы на машинах должны быть синхронизированы (в случае одиночной установки можно пропустить этот шаг);

* 2. Распределённая установка исполнителей:

    Адрес обратного вызова исполнителя (`admin.addresses`) должен быть одинаковым; исполнители используют эту конфигурацию для автоматической регистрации и других операций.    Внутри одного распределённого пула исполнителей значение `AppName` (`executor.appname`) должно быть одинаковым; центр управления использует это значение для динамического отслеживания списка активных исполнителей в различных пулах.

# Контакт

### Группа общения в QQ

![](https://datax-web.oss-cn-hangzhou.aliyuncs.com/doc/qrcode.png)

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

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

1
https://api.gitlife.ru/oschina-mirror/WeiYe-Jing-datax-web.git
git@api.gitlife.ru:oschina-mirror/WeiYe-Jing-datax-web.git
oschina-mirror
WeiYe-Jing-datax-web
WeiYe-Jing-datax-web
master