[Databricks] Workflow Worker(Excutor) scale out 안되는 문제
-
반응형
안녕하세요. 데이터엔지니어 주형권입니다.
오늘 Databricks Workflow에서 아주 황당한(?) 문제를 발견하여 공유하고자 글을 적습니다. Databricks에서 작업을 실행하기 위해서 많은 사람들이 Workflow를 사용합니다.
Workflow에서 Notebook의 SQL 또는 Python 코드등을 실행하는 경우가 있는데 이때 Job cluster에 Worker 유형을 선택할 수 있으며 분산처리를 위해서 최소~최대 Worker의 개수를 설정할 수 있습니다.
그런데 오늘 정말 이상하게도 작업을 수행하고 계속해서 Worker의 수가 2개 (Driver 1개 / Worker 1개)로 유지되면서 Scale Out이 안되는 현상을 경험하였습니다.
제가 Spark의 옵션을 잘못 설정해서 Worker의 수가 늘어나지 못하는 건지 하여 옵션을 모두 확인하였으나 아니었고 정말 황당한 곳에서 문제를 발견하였습니다. Databricks의 이벤트 Log에 다음과 같이 오류가 계속해서 찍히고 있는 것을 확인하였습니다.
분명히 Job Cluster를 만들 때 인스턴스 타입 선택도 가능 했고 실제로 Workflow에서 작업은 계속해서 실행 중이었습니다. 그런데 늘어나지 못하고 계속해서 2개를 유지하는데, 황당하게도 해당 리전에서 해당 인스턴스 타입을 사용할 수 없다는... 로그가 찍혀 있습니다.
이 부분은 오류로 찍히지 않으니 혹시 이런 현상을 겪으시면 참고해서 확인해보시기 바랍니다.