Too many open files; FileExceptionError
리눅스에서
Pyspark 로 GraphFrame 연산을 하던 중
갑자기 파일 관련 예외(Caused by: java.nio.file.FileSystemException)가 발생하면서
진행되던 JOB이 중단되는 현상을 발견.
이럴 땐,
리눅스의 Usage Limits 정보를 확인한다.
>> ulimit -a
난 이미 설정을 바꾸어서 '50000' 이라는 값이 보인다.
처음 확인한다면(한 번도 바꾸기 않았다면) 1024 정도가 세팅되어 있다.
값을 바꿔는 방법은,
>> ulimit -n 50000
사실 얼마의 값이 Optimal 한지는 확인하지 못했지만
비슷한 천 단위의 값으로는 반복되는 오류 로그만 확인하는 결과를 얻는다.
아마도 Usage Limit 정보는 앞으로 Spark 를 한다면 계속해서 확인이 필요 할 것 같다.
위의 정보들은 검색을 통해서 쉽게 알 수 있다.
문제 해결에 핵심이었던 'open files' 는
'하나의 프로세스에서 열 수 있는 최대 파일의 수'를 의미한다.
끝.