โปรแกรม Spark Kill Running


105

ฉันมีแอปพลิเคชัน Spark ที่ใช้งานอยู่ซึ่งมันครอบครองแกนทั้งหมดโดยที่แอปพลิเคชันอื่น ๆ ของฉันจะไม่ได้รับการจัดสรรทรัพยากรใด ๆ

ฉันทำการวิจัยอย่างรวดเร็วและมีคนแนะนำให้ใช้ YARN kill หรือ / bin / spark-class เพื่อฆ่าคำสั่ง อย่างไรก็ตามฉันใช้เวอร์ชัน CDH และ / bin / spark-class ไม่มีอยู่เลยแอปพลิเคชัน YARN kill ก็ไม่ทำงานเช่นกัน

ป้อนคำอธิบายภาพที่นี่

ใครสามารถกับฉันด้วยสิ่งนี้?


1
หากคุณอยู่ในการทดสอบ env: ps aux | grep spark -> รับ pid of spark และฆ่ามันจาก command line
eliasah

@eliasah "test env" ถึงงานจะกระจายแล้ว ..
B.Mr.W.

1
คุณต้องการฆ่างานในการผลิต ????
eliasah

1
@eliasah ใช่ ... งานในการผลิตถูกระงับเนื่องจากความล้มเหลวในโฮสต์เดียว
บช.น.

คำตอบ:


219
  • คัดลอกรหัสแอปพลิเคชันที่ผ่านมาจากตัวกำหนดเวลาจุดประกายเช่นapplication_1428487296152_25597
  • เชื่อมต่อกับเซิร์ฟเวอร์ที่เปิดใช้งาน
  • yarn application -kill application_1428487296152_25597

1
คุณจะไปที่ตัวกำหนดตารางเวลาประกายไฟได้อย่างไร?
makansij

มันเหมือนกับweb UI?
makansij

@Hunle คุณสามารถรับ ID จากSpark History UIหรือ YARN RUNNINGapps UI ( yarn-host: 8088 / cluster / apps / RUNNING ) หรือจากSpark Job Web UIURL ( yarn-host: 8088 / proxy / application_ <timestamp> _ <id> )
CᴴᴀZ

2
สามารถฆ่าหลาย ๆ ตัวพร้อมกันได้: yarn application -kill application_1428487296152_25597 application_1428487296152_25598 ... ??
user3505444

7

อาจใช้เวลานานในการรับรหัสแอปพลิเคชันทั้งหมดจาก YARN และฆ่าทีละรายการ คุณสามารถใช้ Bash for loop เพื่อทำงานซ้ำ ๆ ให้สำเร็จได้อย่างรวดเร็วและมีประสิทธิภาพมากขึ้นดังที่แสดงด้านล่าง:

ฆ่าแอปพลิเคชันทั้งหมดบน YARN ซึ่งอยู่ในสถานะ ACCEPTED:

for x in $(yarn application -list -appStates ACCEPTED | awk 'NR > 2 { print $1 }'); do yarn application -kill $x; done

ฆ่าแอปพลิเคชันทั้งหมดบน YARN ซึ่งอยู่ในสถานะ RUNNING:

for x in $(yarn application -list -appStates RUNNING | awk 'NR > 2 { print $1 }'); do yarn application -kill $x; done



1

นี่อาจไม่ใช่วิธีแก้ปัญหาที่ถูกต้องตามหลักจริยธรรม แต่จะช่วยในสภาพแวดล้อมที่คุณไม่สามารถเข้าถึงคอนโซลเพื่อฆ่างานโดยใช้คำสั่ง yarn application

ขั้นตอนคือ

ไปที่หน้าหลักแอปพลิเคชันของงานจุดประกาย คลิกที่ส่วนงาน คลิกที่ขั้นตอนที่ใช้งานอยู่ของงานที่ใช้งานอยู่ คุณจะเห็นปุ่ม "ฆ่า" ถัดจากขั้นตอนที่ใช้งานอยู่

สิ่งนี้จะได้ผลหากขั้นตอนที่ประสบความสำเร็จขึ้นอยู่กับระยะที่กำลังทำงานอยู่ แม้ว่าจะทำเครื่องหมายงานว่า "ถูกฆ่าโดยผู้ใช้"


โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.