본문 바로가기
빅데이터/spark

[spark] Service 'sparkDriver' could not bind on a random free port. 오류 해결

by hs_seo 2020. 9. 13.

스파크쉘의 마스터를 yarn으로 설정하고 yarn 클러스터 외부의 클라이언트에서 실행할 때 다음의 오류가 발생하는 경우가 있습니다.

오류

$ ./spark-shell --master yarn
Setting default log level to "WARN".
To adjust logging level use sc.setLogLevel(newLevel). For SparkR, use setLogLevel(newLevel).
20/09/09 16:01:26 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
20/09/09 16:01:26 WARN util.Utils: Service 'sparkDriver' could not bind on a random free port. You may check whether configuring an appropriate binding address.
20/09/09 16:01:26 WARN util.Utils: Service 'sparkDriver' could not bind on a random free port. You may check whether configuring an appropriate binding address.

해결방법

스파크 쉘은 --deploy-mode=client 모드로 고정됩니다. 따라서 클러스터에서 실행된 작업이 스파크 쉘과 통신하기 위해서 주소를 알아야 합니다. 따라서 다음의 설정을 해주면 실행 됩니다.

./spark-shell --master yarn \
--conf spark.driver.host=<spark-driver-host-name> \
--conf spark.driver.port=18080 \
--conf spark.driver.bindAddress=0.0.0.0

동작참고

 

반응형