ระบบการตั้งเวลางาน Big Whale เป็นระบบการตั้งเวลางานการประมวลผลแบบกระจายที่พัฒนาโดย Meiyou Big Data โดยให้การกำหนดเวลาการดำเนินการ DAG สำหรับงานการประมวลผลแบบแบตช์ เช่น Spark และ Flink และการตรวจสอบสถานะและกำหนดเวลาสำหรับงานการประมวลผลสตรีม นอกจากนี้ยังมีการตรวจจับแอปพลิเคชันซ้ำอีกด้วย การตรวจจับแอพพลิเคชั่นหน่วยความจำขนาดใหญ่และฟังก์ชั่นอื่น ๆ บริการนี้ได้รับการพัฒนาโดยใช้ Spring Boot 2.0 และสามารถทำงานได้หลังจากบรรจุแพ็คเกจแล้ว
การเตรียมสิ่งแวดล้อม
จาวา 1.8+
มายเอสคิวแอล 5.1.0+
ติดตั้ง
1. สร้างฐานข้อมูล: วาฬใหญ่
2. เรียกใช้สคริปต์ฐานข้อมูล: big-whale.sql
3. กำหนดค่ารหัสผ่านบัญชีฐานข้อมูลที่เกี่ยวข้องและข้อมูล SMTP ตามสภาพแวดล้อม Spring Boot
4. การกำหนดค่า: big-whale.properties
คำอธิบายรายการการกำหนดค่า
ssh.user: ชื่อผู้ใช้เข้าสู่ระบบระยะไกล SSH ที่มีสิทธิ์ดำเนินการสคริปต์ (แพลตฟอร์มจะใช้ผู้ใช้รายนี้เป็นผู้ใช้ดำเนินการสคริปต์แบบรวม)
ssh.password: รหัสผ่านผู้ใช้เข้าสู่ระบบระยะไกล ssh
dingding.enabled: ว่าจะเปิดใช้งานการแจ้งเตือน DingTalk หรือไม่
dingding.watcher-token: โทเค็นหุ่นยนต์กลุ่มสาธารณะ Dingding
เส้นด้าย.app-memory-threshold: ขีดจำกัดหน่วยความจำแอปพลิเคชันเส้นด้าย (หน่วย: MB), -1 ปิดใช้งานการตรวจจับ
เส้นด้าย.app-white-list: รายการแอปพลิเคชันเส้นด้ายที่อนุญาตพิเศษ (หน่วยความจำที่ร้องขอโดยแอปพลิเคชันในรายการเกินขีดจำกัดบน และจะไม่มีการแจ้งเตือน)
5. แก้ไข: $FLINK_HOME/bin/flink การอ้างอิง: flink (เนื่องจาก flink สามารถอ่านแพ็คเกจ jar ในเครื่องเท่านั้นเมื่อส่งงาน จึงจำเป็นต้องดาวน์โหลดแพ็คเกจ jar จาก hdfs และแทนที่พารามิเตอร์เส้นทางแพ็คเกจ jar ในสคริปต์เมื่อ ดำเนินการคำสั่งส่ง)
6. บรรจุภัณฑ์: mvn แพ็คเกจที่สะอาด
เริ่มต้นขึ้น
1. ตรวจสอบว่าพอร์ต 17070 ถูกใช้งานหรือไม่ หากเป็นเช่นนั้น ให้ปิดกระบวนการที่ถูกครอบครองหรือแก้ไขการกำหนดค่าหมายเลขพอร์ตของโครงการและทำแพ็คเกจใหม่
2. คัดลอก big-whale.jar ในไดเร็กทอรีเป้าหมายและดำเนินการคำสั่ง: java -jar big-whale.jar
การกำหนดค่าเริ่มต้น
1. เปิด: http://localhost:17070
2. ป้อนผู้ดูแลระบบบัญชีและผู้ดูแลระบบรหัสผ่าน
3. คลิก: การจัดการสิทธิ์->การจัดการผู้ใช้ แก้ไขที่อยู่อีเมลของบัญชีปัจจุบันเป็นที่อยู่อีเมลที่ถูกต้องและมีอยู่ ไม่เช่นนั้นอีเมลจะไม่สามารถส่งได้
4. เพิ่มคลัสเตอร์
การจัดการคลัสเตอร์ -> การจัดการคลัสเตอร์ -> ใหม่
"ที่อยู่การจัดการเส้นด้าย" คือที่อยู่ WEB UI ของ Yarn ResourceManager
"ไดเร็กทอรีหน่วยเก็บข้อมูลแพ็กเกจ" คือเส้นทางหน่วยเก็บข้อมูลเมื่อมีการอัปโหลดแพ็กเกจไปยังคลัสเตอร์ HDFS เช่น: /data/big-whale/storage
"สนับสนุนผู้ใช้พร็อกซีงาน Flink", "บัญชีดำงานการประมวลผลสตรีม" และ "บัญชีดำงานการประมวลผลแบบกลุ่ม" เป็นกฎการจัดสรรงานที่กำหนดเองภายใน
5. เพิ่มตัวแทน
การจัดการคลัสเตอร์ -> การจัดการตัวแทน -> ใหม่
สามารถเพิ่มได้หลายอินสแตนซ์ (รองรับเฉพาะที่อยู่ IP สามารถระบุหมายเลขพอร์ตได้ และค่าเริ่มต้นคือ 22) เมื่อเรียกใช้สคริปต์ อินสแตนซ์จะถูกเลือกแบบสุ่มสำหรับการดำเนินการ หากไม่สามารถเข้าถึงอินสแตนซ์ถัดไป สุ่มเลือก การดำเนินการล้มเหลวเมื่อไม่สามารถเข้าถึงได้ทั้งคู่
หลังจากเลือกคลัสเตอร์แล้ว คลัสเตอร์จะเป็นหนึ่งในเอเจนต์ที่ส่งงาน Spark หรือ Flink ภายใต้คลัสเตอร์
6. เพิ่มผู้ใช้คลัสเตอร์
การจัดการคลัสเตอร์ -> ผู้ใช้คลัสเตอร์ -> เพิ่ม
ความหมายของการกำหนดค่านี้คือ: คิวทรัพยากรเส้นด้าย (--คิว) และผู้ใช้พร็อกซี (--ผู้ใช้พร็อกซี) ที่ผู้ใช้แพลตฟอร์มสามารถใช้ได้ภายใต้คลัสเตอร์ที่เลือก
7. เพิ่มกรอบการคำนวณ
การจัดการคลัสเตอร์ -> การจัดการ -> เพิ่ม
คำสั่งการส่งของงาน Spark หรือ Flink ที่แตกต่างกันในคลัสเตอร์เดียวกันอาจแตกต่างกัน ตัวอย่างเช่น คำสั่งการส่งของ Spark 1.6.0 คือการส่งประกายไฟ และคำสั่งการส่งของ Spark 2.1.0 คือการส่งประกายไฟ