Spark 를 사용하면서 Jupyter Notebook에 연동해서 사용하기도 하지만, Cli 환경에서 바로 Spark-shell에 붙어서 사용하는 경우 많다.
이때, 발생할 수 있는 Warning 중 두가지 사례에 대해 정리하려고 한다.
현재 화면은 Spark 1.6 버전이지만, Spark 2.X 버전에서도 동일하게 발생할 수 있다.
1)
경고 메세지 | Failed to created SparkJLineReader |
원인 |
spark-shell을 실행시키는 유저의 OS 홈 디렉터리 문제로 Permission denied의 경우 유저 홈 디렉터리에 접근권한이 없는 경우 발생. 아예 홈디렉터리 없는 경우에는 No such file or directory 라는 메시지 발생. |
해결 | spark-shell 유저의 OS 홈 디렉터리 접근 권한 추가 또는 홈 디렉터리 생성. |
2)
경고 메세지 | Service 'SparkUI' could not bind on port 4040. Attempting port 4041. |
원인 |
Default로 spark.driver.appUIAddress의 포트는 4040으로 시작된다. 따라서 클러스터에서 가장 첫번째로 실행되는 spark-shell에 4040 포트가 맵핑되는데, 4040으로 맵핑된 spark-shell 실행중인데 두번째로 spark-shell이 실행될 경우에 1증가한 4041포트로 접근하겠다는 경고이다. 4040과 4041이 맵핑되어 있는 상태에서 또 shell이 실행되면 그 다음으로 4043, 4044, 4045 순으로 증가하면 포트가 맵핑 된다. |
해결 | 에러가 발생한 것이 아니기 때문에 무시해도 무관하다. |