Ứng dụng chạy Spark Kill


101

Tôi có một ứng dụng Spark đang chạy trong đó nó chiếm tất cả các lõi mà các ứng dụng khác của tôi sẽ không được phân bổ bất kỳ tài nguyên nào.

Tôi đã thực hiện một số nghiên cứu nhanh và mọi người đề xuất sử dụng YARN kill hoặc / bin / spark-class để giết lệnh. Tuy nhiên, tôi đang sử dụng phiên bản CDH và / bin / spark-class thậm chí hoàn toàn không tồn tại, ứng dụng diệt YARN cũng không hoạt động.

nhập mô tả hình ảnh ở đây

Bất cứ ai có thể với tôi với điều này?


1
nếu bạn đang trong một bài kiểm tra env: ps aux | grep spark -> lấy pid của tia lửa và giết nó từ dòng lệnh
eliasah

@eliasah "test env", với tôi công việc đã được phân phối rồi ..
B.Mr.W.

1
bạn muốn giết một công việc trong sản xuất ????
eliasah

1
@eliasah Vâng ... một công việc trong lĩnh vực sản xuất bị treo do sự cố trong một máy chủ.
B.Mr.W.

Câu trả lời:


213
  • sao chép qua Id ứng dụng từ bộ lập lịch tia lửa, ví dụ: application_1428487296152_25597
  • kết nối với máy chủ đã khởi chạy công việc
  • yarn application -kill application_1428487296152_25597

1
Làm thế nào để bạn truy cập vào bộ lập lịch tia lửa?
makansij

Nó có giống với web UI?
makansij

@Hunle Bạn có thể lấy ID từ Spark History UIhoặc YARN RUNNINGapps UI ( sợi-host: 8088 / cluster / apps / RUNNING ) hoặc từ Spark Job Web UIURL ( sợi-host: 8088 / proxy / application_ <timestamp> _ <id> )
CᴴᴀZ

2
người ta có thể giết nhiều người cùng một lúc không: ứng dụng sợi-ứng dụng cần thiết_1428487296152_25597 ứng dụng_1428487296152_25598 ... ??
user3505444

6

Có thể mất thời gian để lấy tất cả các Id ứng dụng từ YARN và giết từng cái một. Bạn có thể sử dụng vòng lặp Bash for để hoàn thành tác vụ lặp đi lặp lại này một cách nhanh chóng và hiệu quả hơn như hình dưới đây:

Hủy tất cả các ứng dụng trên YARN đang ở trạng thái CHẤP NHẬN:

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

Hủy tất cả các ứng dụng trên YARN đang ở trạng thái CHẠY:

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



1

Đây có thể không phải là một giải pháp đạo đức và được ưu tiên nhưng nó hữu ích trong những môi trường mà bạn không thể truy cập bảng điều khiển để thực hiện công việc bằng lệnh ứng dụng sợi.

Các bước là

Đi tới trang chủ của ứng dụng spark job. Nhấp vào phần việc làm. Nhấp vào giai đoạn hoạt động của công việc đang hoạt động. Bạn sẽ thấy nút "kill" ngay bên cạnh giai đoạn hoạt động.

Điều này hoạt động nếu các giai đoạn tiếp theo phụ thuộc vào giai đoạn hiện đang chạy. Mặc dù nó đánh dấu công việc là "Bị giết bởi người dùng"

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.