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

OSCHINA-MIRROR/dtstack_dev_0-chunjun

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Это зеркальный репозиторий, синхронизируется ежедневно с исходного репозитория.
Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
3 месяцев назад
7 лет назад
3 месяцев назад
Loading...
README.md

Чунцзюнь

npm версия лицензия загрузки npm покрытие мастер

EN doc CN doc

Введение

Чунцзюнь — это распределённая интеграционная платформа, основанная на Apache Flink. Изначально она была известна как FlinkX и переименована в Чунцзюнь 22 февраля 2022 года. Она может осуществлять синхронизацию данных и вычисления между различными разнородными источниками данных. Чунцзюнь уже развёрнут и стабильно работает в тысячах компаний.

Официальный сайт Чунцзюня: https://dtstack.github.io/chunjun/.

Особенности Чунцзюня

Чунцзюнь абстрагирует различные базы данных в плагины чтения/источника, плагины записи/приёмника и плагины поиска и имеет следующие особенности:

  • Основан на механизме вычислений в реальном времени — Flink, и поддерживает конфигурацию задач с использованием шаблонов JSON и сценариев SQL. Сценарий SQL совместим с синтаксисом Flink SQL;
  • Поддерживает распределённые операции, поддерживает flink-standalone, yarn-session, yarn-per job и другие методы отправки;
  • Поддерживает развёртывание одним щелчком мыши с помощью Docker, поддерживает развёртывание и запуск на k8s;
  • Поддерживает множество разнородных источников данных, а также синхронизацию и вычисление более чем 20 источников данных, таких как MySQL, Oracle, SQLServer, Hive, Kudu и т. д.;
  • Легко расширяется, обладает высокой гибкостью, новые расширенные плагины источника данных могут быть интегрированы с существующими плагинами источника данных мгновенно, разработчикам плагинов не нужно заботиться о логике кода других плагинов;
  • Не только поддерживает полную синхронизацию, но также поддерживает инкрементную синхронизацию и интервальное обучение;
  • Не только поддерживает офлайн-синхронизацию и вычисления, но и совместим со сценариями реального времени;
  • Поддерживает хранение грязных данных, предоставляет мониторинг показателей и т.д.;
  • Сотрудничает с механизмом контрольных точек Flink для достижения возобновления точки останова, аварийного восстановления задач;
  • Не только поддерживает синхронизацию DML-данных, но и поддерживает DDL-синхронизацию, такую как «CREATE TABLE», «ALTER COLUMN» и т. д.

Сборка и компиляция

Получение кода

Используйте git для клонирования кода Чунцзюня.

git clone https://github.com/DTStack/chunjun.git

Сборка

Выполните команду в каталоге проекта.

./mvnw clean package

Или выполните

sh build/build.sh

Распространённая проблема

Компиляция модуля «Чунцзюнь-ядро» приводит к ошибке «Не удалось прочитать дескриптор артефакта для com.google.errorprone:javac-shaded».

Сообщение об ошибке:

[ERROR]Failed to execute goal com.diffplug.spotless:spotless-maven-plugin:2.4.2:check(spotless-check)on project chunjun-core:
        Execution spotless-check of goal com.diffplug.spotless:spotless-maven-plugin:2.4.2:check failed:Unable to resolve dependencies:
        Failed to collect dependencies at com.google.googlejavaformat:google-java-format:jar:1.7->com.google.errorprone:javac-shaded:jar:9+181-r4173-1:
        Failed to read artifact descriptor for com.google.errorprone:javac-shaded:jar:9+181-r4173-1:Could not transfer artifact
        com.google.errorprone:javac-shaded:pom:9+181-r4173-1 from/to aliyunmaven(https://maven.aliyun.com/repository/public): 
        Access denied to:https://maven.aliyun.com/repository/public/com/google/errorprone/javac-shaded/9+181-r4173-1/javac-shaded-9+181-r4173-1.pom -> [Help 1]

Решение: Загрузите файл «javac-shaded-9+181-r4173-1.jar» по URL-адресу «https://repo1.maven.org/maven2/com/google/errorprone/javac-shaded/9+181-r4173-1/javac-shaded-9+181-r4173-1.jar», а затем установите его локально с помощью следующей команды:

mvn install:install-file -DgroupId=com.google.errorprone -DartifactId=javac-shaded ## Быстрый старт

В следующей таблице показано соответствие между ветками ChunJun и версией flink. Если версии не совпадают, в задачах могут возникнуть проблемы, такие как «Serialization Exceptions», «NoSuchMethod Exception» и т. д.

| Ветви | Версия flink |
| --- | --- |
| master | 1.16.1 |
| 1.12_release | 1.12.7 |
| 1.10_release | 1.10.1 |
| 1.8_release | 1.8.3 |

ChunJun поддерживает выполнение задач в нескольких режимах. Различные режимы зависят от разных сред и шагов. Ниже приведены:

### Локальный

Локальный режим не зависит от среды Flink и среды Hadoop и запускает процесс JVM в локальной среде для выполнения задач.

#### Шаги

Перейдите в каталог «chunjun-dist» и выполните команду ниже:
```shell
sh bin/chunjun-local.sh -job $SCRIPT_PATH

Параметр "$SCRIPT_PATH" означает "путь, где находится скрипт задачи". После выполнения вы можете выполнить задачу локально. Примечание:

если вы упаковываете в Windows и запускаете sh в Linux, вам нужно выполнить команду sed -i "s/\r//g" bin/*.sh, чтобы исправить проблемы с '\r'.

Справочное видео

Автономный

Автономный режим зависит от автономной среды Flink и не зависит от среды Hadoop.

Шаги

1. Добавьте jar-файлы chunjun
  1. Найдите каталог jar-файлов: если вы собираете этот проект с помощью maven, имя каталога — «chunjun-dist»; если вы загружаете файл tar.gz со страницы выпуска, после распаковки имя каталога будет похоже на «chunjun-assembly-${revision}-chunjun-dist».

  2. Скопируйте jar-файлы в каталог Flink lib, пример команды:

cp -r chunjun-dist $FLINK_HOME/lib

Обратите внимание: эту операцию необходимо выполнить на всех машинах кластера Flink, иначе некоторые задания завершатся неудачно из-за ClassNotFoundException.

2. Запустите автономный кластер Flink
sh $FLINK_HOME/bin/start-cluster.sh

После успешного запуска порт по умолчанию для веб-сайта Flink — 8081, который можно настроить в файле «flink-conf.yaml». Мы можем получить доступ к порту 8081 текущей машины, чтобы войти во flink web автономного кластера.

3. Отправьте задачу

Перейдите в каталог «chunjun-dist» и выполните следующую команду:

sh bin/chunjun-standalone.sh -job chunjun-examples/json/stream/stream.json

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

Справочное видео

Yarn Session

Режим YarnSession зависит от jar-файлов Flink и сред Hadoop, и yarn-session должен быть запущен перед отправкой задачи.

Шаги

1. Запустите среду yarn-session

Yarn-session зависит от Flink и Hadoop. Вам нужно заранее установить HADOOPHOMEиFLINK_HOME, и нам нужно загрузить «chunjun-dist» с параметром yarn-session '-t'.

cd $FLINK_HOME/bin
./yarn-session -t $CHUNJUN_HOME -d
2. Отправьте задачу

Получите соответствующий приложению идентификатор $SESSION_APPLICATION_ID через веб-сайт yarn, затем перейдите в каталог 'chunjun-dist' и выполните следующую команду:

sh ./bin/chunjun-yarn-session.sh -job chunjun-examples/json/stream/stream.json -confProp {\"yarn.application.id\":\"SESSION_APPLICATION_ID\"}

'yarn.application.id' также можно установить в 'flink-conf.yaml'. После успешной отправки состояние задачи можно наблюдать на веб-сайте yarn.

Справочное видео

Yarn Per-Job

Режим Yarn Per-Job зависит от Flink и Hadoop. Вы должны заранее установить HADOOPHOMEиFLINK_HOME.

Шаги

Задачу yarn per-job можно отправить после правильной настройки. Затем перейдите в каталог «chunjun-dist» и выполните следующую команду:

sh ./bin/chunjun-yarn-perjob.sh -job После успешной отправки статус задачи можно наблюдать в веб-интерфейсе YARN.

## Документация по коннекторам

Подробности доступны по ссылке: https://dtstack.github.io/chunjun/documents/.

## Участники проекта

Спасибо всем участникам! Мы очень рады, что вы можете внести свой вклад в Chunjun.

<a href="https://github.com/DTStack/chunjun/graphs/contributors">
  <img src="https://contrib.rocks/image?repo=DTStack/chunjun"  alt="участники"/>
</a>

## Активность участников с течением времени

[![Звёзды проекта с течением времени](https://contributor-overtime-api.git-contributor.com/contributors-svg?chart=contributorOverTime&repo=DTStack/chunjun)](https://git-contributor.com?chart=contributorOverTime&repo=DTStack/chunjun)

## Лицензия

ChunJun находится под лицензией Apache 2.0. Подробности доступны по ссылке [LICENSE](http://www.apache.org/licenses/LICENSE-2.0).

## Свяжитесь с нами

Присоединяйтесь к Slack-каналу ChunJun.
https://join.slack.com/t/chunjun/shared_invite/zt-1hzmvh0o3-qZ726NXmhClmLFRMpEDHYw

Комментарии ( 0 )

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

Введение

Распределённая структура для синхронизации данных на основе Flink. Развернуть Свернуть
Apache-2.0
Отмена

Обновления

Пока нет обновлений

Недавние действия

Загружен новый тег v1.5.2 3 месяца назад
Загружен новый тег v1.12.8 3 месяца назад
Загружен новый тег v1.12.7 3 месяца назад
Загружен новый тег v1.12.5 3 месяца назад
Загружен новый тег v1.12.4 3 месяца назад
Загрузить больше
Больше нет результатов для загрузки
1
https://gitlife.ru/oschina-mirror/dtstack_dev_0-chunjun.git
git@gitlife.ru:oschina-mirror/dtstack_dev_0-chunjun.git
oschina-mirror
dtstack_dev_0-chunjun
dtstack_dev_0-chunjun
master