ChunJun — это среда распределенной интеграции, в настоящее время основанная на Apache Flink. Первоначально он был известен как FlinkX и переименован в ChunJun 22 февраля 2022 года. Он может осуществлять синхронизацию данных и расчеты между различными разнородными источниками данных. На данный момент ChunJun развернут и стабильно работает в тысячах компаний.
Официальный сайт ChunJun: https://dtstack.github.io/chunjun/
ChunJun абстрагирует различные базы данных на плагины чтения/источника, плагины записи/приемника и плагины поиска и имеет следующие функции:
Используйте git для клонирования кода ChunJun.
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 -Dversion=9+181-r4173-1 -Dpackaging=jar -Dfile=./jars/javac-shaded-9+181-r4173-1.jar
В следующей таблице показано соответствие между ветвями ChunJun и версией flink. Если версии не согласованы, в задачах возникают такие проблемы, как «Исключения сериализации», «Исключение NoSuchMethod» и т. д. mysql.
Филиалы | Флинк-версия |
---|---|
владелец | 1.16.1 |
1.12_выпуск | 1.12.7 |
1.10_выпуск | 1.10.1 |
1.8_выпуск | 1.8.3 |
ChunJun поддерживает выполнение задач в нескольких режимах. Различные режимы зависят от разных сред и шагов. Ниже приведены
Локальный режим не зависит от среды Flink и среды Hadoop и запускает процесс JVM в локальной среде для выполнения задач.
Перейдите в каталог «chunjun-dist» и выполните команду ниже:
sh bin/chunjun-local.sh -job $SCRIPT_PATH
Параметр «$SCRIPT_PATH» означает «путь, по которому расположен сценарий задачи». После выполнения вы можете выполнить задачу локально.
примечание:
when you package in windows and run sh in linux , you need to execute command sed -i "s/r//g" bin/*.sh to fix the 'r' problems.
Справочное видео
Автономный режим зависит от автономной среды 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 Web по умолчанию — 8081, который вы можете настроить в файле «flink-conf.yaml». Мы можем получить доступ к порту 8081 текущей машины, чтобы войти в сеть flink автономного кластера.
Перейдите в каталог «chunjun-dist» и выполните команду ниже:
sh bin/chunjun-standalone.sh -job chunjun-examples/json/stream/stream.json
После успешного выполнения команды вы можете наблюдать за состоянием задачи на веб-сайте Flink.
Справочное видео
Режим YarnSession зависит от jar-файлов Flink и сред Hadoop, и перед отправкой задачи необходимо запустить сеанс пряжи.
Режим Yarn-сессии зависит от среды Flink и Hadoop. Вам необходимо заранее установить $HADOOP_HOME и $FLINK_HOME, и нам нужно загрузить chunjun-dist с параметром Yarn-session '-t'.
cd $FLINK_HOME /bin
./yarn-session -t $CHUNJUN_HOME -d
Получите идентификатор приложения $SESSION_APPLICATION_ID, соответствующий сеансу пряжи, через Yarn Web, затем войдите в каталог «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. Вам необходимо заранее установить $HADOOP_HOME и $FLINK_HOME.
Задача пряжи для каждого задания может быть отправлена после правильной конфигурации. Затем войдите в каталог «chunjun-dist» и выполните команду ниже:
sh ./bin/chunjun-yarn-perjob.sh -job chunjun-examples/json/stream/stream.json
После успешной отправки статус задачи можно наблюдать в сети Yarn.
Для получения подробной информации посетите: https://dtstack.github.io/chunjun/documents/.
Спасибо всем участникам! Мы очень рады, что вы можете внести свой вклад в Чунджун.
ChunJun находится под лицензией Apache 2.0. Пожалуйста, посетите ЛИЦЕНЗИЮ для получения подробной информации.
Присоединяйтесь к ChunJun Slack. https://join.slack.com/t/chunjun/shared_invite/zt-1hzmvh0o3-qZ726NXmhClmLFRMpEDHYw