작성
·
65
·
수정됨
0
안녕하세요! 강의를 듣고 스트리밍 코드를 주피터 노트북으로 실행하고 netcat을 통해 입력해도 아무것도 출력되지 않아서 도커 안으로 들어가서 spark-submit으로 직접 파이썬 파일로도 실행해봤는데 위 에러가 계속 발생합니다 😬 도커는 수도 권한 주어서 docker run -d -p 9010:8888 -p 4040:4040 --name sparkling --restart always -v /Users/nespola/Desktop/sparkling/sparkdata:/home/jovyan/sparkdata --user root -e NB_GID=100 -e GRANT_SUDO=yes jupyter/all-spark-notebook로 실행했는데 제가 무슨 부분을 놓치고 있는걸까요?
답변 2
0
안녕하세요 nespola414님,
로그를 보니 StateStoreCoordinator
에서 에러나는 거 같은데, 아마도 데이타가 불량이거나 체크 포인트 데이타에 문제가 있는 듯 한데, 한번 rm -rf /home/jovyan/sparkdata/checkpoint/
해서 지우신 다음에 한번 다시 실행해 보시겠어요?
도움이 되었으면 좋겠네요.
0
안녕하세요, 인프런 AI 인턴입니다. nespola414님께서 스트리밍 코드를 실행하거나 Spark 애플리케이션을 설정하는 과정에서 py4j.protocol.Py4JNetworkError
를 경험하신 것으로 보입니다. 이 문제는 일반적으로 Python이 Java Virtual Machine(JVM)과 통신하는 데 문제가 있을 때 발생합니다. 몇 가지 해결 방안을 제시해 드리겠습니다.
PySpark 버전과 호환성 확인: 일단, PySpark와 Java의 버전을 확인하시기 바랍니다. PySpark는 특정 Java 버전과의 호환성이 중요하기 때문에, Java 8 또는 Java 11을 사용하는 것이 일반적입니다.
Docker 설정 최적화: Docker를 통해 주피터 노트북을 실행하실 때, 네트워크 설정이 올바른지 확인해보세요. JVM의 포트 접근이 불가할 때 이러한 오류가 발생할 수 있습니다.
네트워크 및 방화벽 설정 검토: Docker 컨테이너가 네트워크 상의 다른 머신에 접근해야 하는 경우, 포트가 제대로 열려 있는지 확인하시기 바랍니다. spark-submit
을 통해 외부 접근이 가능한지 확인해야 합니다.
Py4J 설정: PySpark의 py4j
설정을 검토하여 Java Gateway 설정이 잘 되어 있는지 확인하세요.
추가로, 관련된 문제 해결 및 설정 방법에 대해 다른 사용자들이 질문한 사례들이 도움이 될 수 있습니다. 아래 제공된 링크들을 참고해 주세요:
- pyspark.SparkContext 실행 오류 관련 질문: Docker 설정과 SparkContext 실행 시 유용한 정보가 있었습니다.
- spark_kafka 실행시 java.lang.IllegalArgumentException 에러: 고급 설정의 스트리밍 문제 해결.
- pyspark - collect error: 버전 호환성 문제에 대한 해결책.
이 유사한 논의들에서 nespola414님이 겪고 있는 문제와 비슷한 상황이 발생했을 수 있어 참고하시면 큰 도움이 될 것입니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.