ChunJun เป็นเฟรมเวิร์กการบูรณาการแบบกระจาย และปัจจุบันใช้ Apache Flink เดิมเรียกว่า FlinkX และเปลี่ยนชื่อเป็น ChunJun เมื่อวันที่ 22 กุมภาพันธ์ 2022 โดยสามารถรับรู้การซิงโครไนซ์ข้อมูลและการคำนวณระหว่างแหล่งข้อมูลที่ต่างกันหลากหลาย จนถึงขณะนี้ ChunJun ได้รับการปรับใช้และทำงานอย่างเสถียรในบริษัทหลายพันแห่ง
เว็บไซต์อย่างเป็นทางการของ ChunJun: https://dtstack.github.io/chunjun/
ChunJun สรุปฐานข้อมูลต่างๆ ลงในปลั๊กอินตัวอ่าน/ซอร์ส ปลั๊กอินตัวเขียน/อ่างล้างจาน และปลั๊กอินการค้นหา และมีคุณสมบัติดังต่อไปนี้:
ใช้คอมไพล์เพื่อโคลนโค้ดของ 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 Standalone และไม่ขึ้นอยู่กับสภาพแวดล้อม Hadoop
ค้นหาไดเร็กทอรีของ jars: หากคุณสร้างโปรเจ็กต์นี้โดยใช้ maven ชื่อไดเร็กทอรีจะเป็น 'chunjun-dist'; หากคุณดาวน์โหลดไฟล์ tar.gz จากหน้า release หลังจากคลายการบีบอัด ชื่อไดเร็กทอรีจะเป็นเช่น 'chunjun-assembly-${revision}-chunjun-dist'
คัดลอกขวดไปยังไดเร็กทอรีของ 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 ขึ้นอยู่กับ Flink jars และสภาพแวดล้อม Hadoop และจะต้องเริ่มต้น Yarn-session ก่อนที่จะส่งงาน
โหมด Yarn-session ขึ้นอยู่กับสภาพแวดล้อม Flink และ Hadoop คุณต้องตั้งค่า $HADOOP_HOME และ $FLINK_HOME ล่วงหน้า และเราจำเป็นต้องอัปโหลด 'chunjun-dist' ด้วยพารามิเตอร์เส้นด้าย-session '-t'
cd $FLINK_HOME /bin
./yarn-session -t $CHUNJUN_HOME -d
รับ ID แอปพลิเคชัน $SESSION_APPLICATION_ID ที่สอดคล้องกับ Yarn-session ผ่าน 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 Per-Job ขึ้นอยู่กับสภาพแวดล้อม Flink และ Hadoop คุณต้องตั้งค่า $HADOOP_HOME และ $FLINK_HOME ล่วงหน้า
สามารถส่งงานเส้นด้ายต่องานได้หลังจากการกำหนดค่าถูกต้อง Then enter the directory 'chunjun-dist' and execute the command below:
sh ./bin/chunjun-yarn-perjob.sh -job chunjun-examples/json/stream/stream.json
หลังจากส่งสำเร็จแล้ว สามารถตรวจสอบสถานะงานได้บนเว็บเส้นด้าย
สำหรับรายละเอียด โปรดไปที่:https://dtstack.github.io/chunjun/documents/
ขอขอบคุณผู้มีส่วนร่วมทุกคน! เราดีใจมากที่คุณสามารถสนับสนุนจุนจุนได้
ChunJun อยู่ภายใต้ลิขสิทธิ์ Apache 2.0 กรุณาเยี่ยมชมใบอนุญาตสำหรับรายละเอียด
เข้าร่วม ChunJun Slack https://join.slack.com/t/chunjun/shared_invite/zt-1hzmvh0o3-qZ726NXmhClmLFRMpEDHYw