Ссылка для скачивания DataX Web
После скачивания распакуйте его в любую директорию на вашей машине. Войдите в каталог 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
$ git clone git@github.com:alibaba/DataX.git
$ 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
}
}
}
]
}
}
$ 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.
logging: level: com.wugui.datax.admin.mapper: error path: ./data/applogs/admin
Измените путь логов `path`.
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`.

При успешном запуске администратора будут выведены три адреса: два адреса документации API и один адрес фронтенд-страницы.
# 5. Успешный запуск
При успешном запуске откройте страницу (по умолчанию имя пользователя администратора: admin, пароль: 123456):
http://localhost:8080/index.html#/dashboard

# 6. Распределённая установка
- Поддерживается распределённая установка центра управления и исполнителей для повышения отказоустойчивости и доступности системы управления.
* 1. Распределённая установка центра управления:
Конфигурация базы данных должна быть одинаковой;
Часы на машинах должны быть синхронизированы (в случае одиночной установки можно пропустить этот шаг);
* 2. Распределённая установка исполнителей:
Адрес обратного вызова исполнителя (`admin.addresses`) должен быть одинаковым; исполнители используют эту конфигурацию для автоматической регистрации и других операций. Внутри одного распределённого пула исполнителей значение `AppName` (`executor.appname`) должно быть одинаковым; центр управления использует это значение для динамического отслеживания списка активных исполнителей в различных пулах.
# Контакт
### Группа общения в QQ

Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Опубликовать ( 0 )