ChunJun是一个分布式集成框架,目前基于Apache Flink。它最初被称为FlinkX,并于2022年2月22日更名为ChunJun。它可以实现各种异构数据源之间的数据同步和计算。到目前为止,ChunJun已在数千家公司稳定部署和运行。
ChunJun官方网站:https://dtstack.github.io/chunjun/
ChunJun将不同的数据库抽象为reader/source插件、writer/sink插件和lookup插件,具有以下特点:
使用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]
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异常'等问题。
分支 | 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'目录并执行以下命令:
sh bin/chunjun-local.sh -job $SCRIPT_PATH
"$SCRIPT_PATH"参数表示"任务脚本所在的路径"。 执行后,您可以在本地执行任务。
注意:
当您在Windows上打包并在Linux上运行sh时,需要执行命令 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 Web的默认端口为8081,您可以在'flink-conf.yaml'文件中配置。我们可以访问当前机器的8081端口进入独立集群的Flink Web界面。
进入'chunjun-dist'目录并执行以下命令:
sh bin/chunjun-standalone.sh -job chunjun-examples/json/stream/stream.json
命令执行成功后,您可以在Flink Web界面上观察任务状态。
Yarn会话模式依赖 于Flink jar包和Hadoop环境,在提交任务之前需要启动yarn-session。
Yarn会话模式依赖Flink和Hadoop环境。您需要提前设置$HADOOP_HOME和$FLINK_HOME,并且我们需要使用yarn-session的'-t'参数上传'chunjun-dist'。
cd $FLINK_HOME/bin ./yarn-session -t $CHUNJUN_HOME -d
通过yarn web获取对应yarn-session的应用ID $SESSION_APPLICATION_ID,然后进入'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 web上观察任务状态。
Yarn Per-Job模式依赖Flink和Hadoop环境。您需要提前设置$HADOOP_HOME和$FLINK_HOME。
配置正确后即可提交yarn per-job任务。进入'chunjun-dist'目录并执行以下命令:
sh ./bin/chunjun-yarn-perjob.sh -job chunjun-examples/json/stream/stream.json
提交成功后,可以在yarn web上观察任务状态。
详情请访问: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>ChunJun采用Apache 2.0许可证。详情请访问LICENSE。
加入ChunJun Slack。 https://join.slack.com/t/chunjun/shared_invite/zt-1hzmvh0o3-qZ726NXmhClmLFRMpEDHYw
AI辅助编程,代码自动修复
Trae是一种自适应的集成开发环境(IDE),通过自动化和多元协作改变开发流程。利用Trae,团队能够更快速、精确地编写和部署代码,从而提高编程效率和项目交付速度。Trae具备上下文感知和代码自动完成功能,是提升开发效率的理想工具。
最强AI数据分析助手
小浣熊家族Raccoon,您的AI智能助手,致力于通过先进的人工智能技术,为用户提供高效、便捷的智能服务。无论是日常咨询还是专业问题解答,小浣熊都能以快速、准确的响应满足您的需求 ,让您的生活更加智能便捷。
像人一样思考的AI智能体
imini 是一款超级AI智能体,能根据人类指令,自主思考、自主完成、并且交付结果的AI智能体。
AI数字人视频创作平台
Keevx 一款开箱即用的AI数字人视频创作平台,广泛适用于电商广告、企业培训与社媒宣传,让全球企业与个人创作者无需拍摄剪辑,就能快速生成多语言、高质量的专业视频。
一站式AI创作平台
提供 AI 驱动的图片、视频生成及数字人等功能,助力创意创作
AI办公助手,复杂任务高效处理
AI办公助手,复杂任务高效处理。办公效率低?扣子空间AI助手支持播客生成、PPT制作、网页开发及报告写作,覆盖科研、商业、舆情等领域的专家Agent 7x24小时响应,生活工作无缝切换,提升50%效率!
AI小说写作助手,一站式润色、改写、扩写
蛙蛙写作—国内先进的AI写作平台,涵盖小说、学术、社交媒体等多场景。提供续写、改写、润色等功能,助力创作者高效优化写作流程。界面简洁,功能全面,适合各类写作者提升内容品质和工作效率。
全能AI智能助手,随时解答生活与工作的多样问题
问小白,由元石科技研发的AI智能助手,快速准确地解答各种生活和工作问题,包括但不限于搜索、规划和社交互动,帮助用户在日常生活中提高效率,轻松管理个人事务。
实时语音翻译/同声传译工具
Transly是一个多场景的AI大语言模型驱动的同声传译、专业翻译助手,它拥有超精准的音频识别翻译能力,几乎零延迟的使用体验和支持多国语言可以让你带它走遍全球,无论你是留学生、商务人士、韩剧美剧爱好者,还是出国游玩、多国会议、跨国追星等等,都可以满足你所有需要同传的场景需求,线上线下通用,扫除语言障碍,让全世界的语言交流不再有国界。
一键生成PPT和Word,让学习生活更轻松
讯飞智文是一个利用 AI 技术的项目,能够帮助用户生成 PPT 以及各类文档。无论是商业领域的市场分析报告、年度目标制定,还是学生群体的职业生涯规划、实习避坑指南,亦或是活动策划、旅游攻略等内容,它都能提供支持,帮助用户精准表达,轻松呈现各种信息。
最新AI工具、AI资讯
独家AI资源、AI项目落地
微信扫一扫关注公众号