ChunJun adalah kerangka integrasi terdistribusi, dan saat ini didasarkan pada Apache Flink. Awalnya dikenal sebagai FlinkX dan berganti nama menjadi ChunJun pada 22 Februari 2022. Ini dapat mewujudkan sinkronisasi dan penghitungan data antara berbagai sumber data yang heterogen. ChunJun telah diterapkan dan berjalan secara stabil di ribuan perusahaan sejauh ini.
Situs web resmi ChunJun: https://dtstack.github.io/chunjun/
ChunJun mengabstraksi database yang berbeda ke dalam plugin pembaca/sumber, plugin penulis/sink, dan plugin pencarian, dan memiliki beberapa fitur berikut:
Gunakan git untuk mengkloning kode ChunJun
git clone https://github.com/DTStack/chunjun.git
Jalankan perintah di direktori proyek.
./mvnw clean package
Atau jalankan
sh build/build.sh
Pesan kesalahan:
[ 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]
Solusi: Unduh 'javac-shaded-9+181-r4173-1.jar' dari url 'https://repo1.maven.org/maven2/com/google/errorprone/javac-shaded/9+181-r4173- 1/javac-shaded-9+181-r4173-1.jar', lalu instal secara lokal dengan menggunakan perintah di bawah ini:
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
Tabel berikut menunjukkan korespondensi antara cabang ChunJun dan versi flink. Jika versi tidak selaras, masalah seperti 'Pengecualian Serialisasi', 'Pengecualian NoSuchMethod', dll. mysql terjadi di tugas.
Cabang | Versi Flink |
---|---|
menguasai | 1.16.1 |
1.12_rilis | 1.12.7 |
1.10_rilis | 1.10.1 |
1.8_rilis | 1.8.3 |
ChunJun mendukung menjalankan tugas dalam berbagai mode. Mode yang berbeda bergantung pada lingkungan dan langkah yang berbeda. Berikut ini adalah
Mode lokal tidak bergantung pada lingkungan Flink dan lingkungan Hadoop, dan memulai proses JVM di lingkungan lokal untuk melakukan tugas.
Buka direktori 'chunjun-dist' dan jalankan perintah di bawah ini:
sh bin/chunjun-local.sh -job $SCRIPT_PATH
Parameter "$SCRIPT_PATH" berarti 'jalur tempat skrip tugas berada'. Setelah dijalankan, Anda dapat melakukan tugas secara lokal.
catatan:
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.
Video referensi
Mode mandiri bergantung pada lingkungan Flink Standalone dan tidak bergantung pada lingkungan Hadoop.
Temukan direktori toples: jika Anda membangun proyek ini menggunakan maven, nama direktorinya adalah 'chunjun-dist' ; jika Anda mengunduh file tar.gz dari halaman rilis, setelah dekompresi, nama direktori akan menjadi seperti 'chunjun-assembly-${revision}-chunjun-dist'.
Salin toples ke direktori Flink lib, contoh perintah:
cp -r chunjun-dist $FLINK_HOME /lib
Pemberitahuan: operasi ini harus dijalankan di semua mesin cluster Flink, jika tidak, beberapa pekerjaan akan gagal karena ClassNotFoundException.
sh $FLINK_HOME /bin/start-cluster.sh
Setelah startup berhasil, port default Flink Web adalah 8081, yang dapat Anda konfigurasikan di file 'flink-conf.yaml'. Kita dapat mengakses port 8081 dari mesin saat ini untuk masuk ke web flink cluster mandiri.
Buka direktori 'chunjun-dist' dan jalankan perintah di bawah ini:
sh bin/chunjun-standalone.sh -job chunjun-examples/json/stream/stream.json
Setelah perintah berhasil dijalankan, Anda dapat mengamati staus tugas di web flink.
Video referensi
Mode YarnSession bergantung pada Flink jar dan lingkungan Hadoop, dan sesi benang harus dimulai sebelum tugas dikirimkan.
Mode sesi benang bergantung pada lingkungan Flink dan Hadoop. Anda perlu menyetel $HADOOP_HOME dan $FLINK_HOME terlebih dahulu, dan kita perlu mengunggah 'chunjun-dist' dengan parameter sesi benang '-t'.
cd $FLINK_HOME /bin
./yarn-session -t $CHUNJUN_HOME -d
Dapatkan id aplikasi $SESSION_APPLICATION_ID yang sesuai dengan sesi benang melalui web benang, lalu masuk ke direktori 'chunjun-dist' dan jalankan perintah di bawah ini:
sh ./bin/chunjun-yarn-session.sh -job chunjun-examples/json/stream/stream.json -confProp { " yarn.application.id " : " SESSION_APPLICATION_ID " }
'yarn.application.id' juga dapat diatur di 'flink-conf.yaml'. Setelah penyerahan berhasil, status tugas dapat diamati di web benang.
Video referensi
Mode Benang Per Pekerjaan bergantung pada lingkungan Flink dan Hadoop. Anda perlu menyetel $HADOOP_HOME dan $FLINK_HOME terlebih dahulu.
Tugas benang per pekerjaan dapat dikirimkan setelah konfigurasinya benar. Kemudian masuk ke direktori 'chunjun-dist' dan jalankan perintah di bawah ini:
sh ./bin/chunjun-yarn-perjob.sh -job chunjun-examples/json/stream/stream.json
Setelah penyerahan berhasil, status tugas dapat diamati di web benang.
Untuk detailnya, silakan kunjungi:https://dtstack.github.io/chunjun/documents/
Terima kasih kepada semua kontributor! Kami sangat senang Anda dapat berkontribusi pada Chunjun.
ChunJun berada di bawah lisensi Apache 2.0. Silakan kunjungi LISENSI untuk detailnya.
Bergabunglah dengan ChunJun Slack. https://join.slack.com/t/chunjun/shared_invite/zt-1hzmvh0o3-qZ726NXmhClmLFRMpEDHYw