Чунцзюнь
Чунцзюнь — это распределённая интеграционная платформа, основанная на Apache Flink. Изначально она была известна как FlinkX и переименована в Чунцзюнь 22 февраля 2022 года. Она может осуществлять синхронизацию данных и вычисления между различными разнородными источниками данных. Чунцзюнь уже развёрнут и стабильно работает в тысячах компаний.
Официальный сайт Чунцзюня: https://dtstack.github.io/chunjun/.
Чунцзюнь абстрагирует различные базы данных в плагины чтения/источника, плагины записи/приёмника и плагины поиска и имеет следующие особенности:
Используйте git для клонирования кода Чунцзюня.
git clone https://github.com/DTStack/chunjun.git
Выполните команду в каталоге проекта.
./mvnw clean package
Или выполните
sh build/build.sh
Сообщение об ошибке:
[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.
Найдите каталог jar-файлов: если вы собираете этот проект с помощью maven, имя каталога — «chunjun-dist»; если вы загружаете файл tar.gz со страницы выпуска, после распаковки имя каталога будет похоже на «chunjun-assembly-${revision}-chunjun-dist».
Скопируйте jar-файлы в каталог Flink lib, пример команды:
cp -r chunjun-dist $FLINK_HOME/lib
Обратите внимание: эту операцию необходимо выполнить на всех машинах кластера Flink, иначе некоторые задания завершатся неудачно из-за ClassNotFoundException.
sh $FLINK_HOME/bin/start-cluster.sh
После успешного запуска порт по умолчанию для веб-сайта Flink — 8081, который можно настроить в файле «flink-conf.yaml». Мы можем получить доступ к порту 8081 текущей машины, чтобы войти во flink web автономного кластера.
Перейдите в каталог «chunjun-dist» и выполните следующую команду:
sh bin/chunjun-standalone.sh -job chunjun-examples/json/stream/stream.json
После успешного выполнения команды вы можете наблюдать за состоянием задачи на веб-сайте flink.
Режим YarnSession зависит от jar-файлов Flink и сред Hadoop, и yarn-session должен быть запущен перед отправкой задачи.
Yarn-session зависит от Flink и Hadoop. Вам нужно заранее установить HADOOPHOMEиFLINK_HOME, и нам нужно загрузить «chunjun-dist» с параметром yarn-session '-t'.
cd $FLINK_HOME/bin
./yarn-session -t $CHUNJUN_HOME -d
Получите соответствующий приложению идентификатор $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 зависит от 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://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 )