SparkStreaming에 JMX를 연결하여 조사하기
2403 단어 스파크sparkstreaming
Spark executor에서 JMX 사용
Java 어플리케이션으로 JMX를 유효하게 할 때에는 -Dcom.sun.management.jmxremote.port
옵션으로 임의의 포트 번호를 지정한다고 생각합니다만
Spark 어플리케이션의 경우, 한 대의 서버로 복수의 executor가 일어나는 경우가 있어 포트 번호가 중복했을 경우에 나중에 기동한 executor가 모두 에러 종료합니다.
값을 0으로 하면 비어 있는 포트 번호를 적당히 선택해 사용하게 되므로, 그렇게 설정해 spark-sumit를 실시합니다.
spark2-submit \
--master yarn \
--conf "spark.executor.extraJavaOptions= \
-Dcom.sun.management.jmxremote \
-Dcom.sun.management.jmxremote.port=0 \
-Dcom.sun.management.jmxremote.authenticate=false \
-Dcom.sun.management.jmxremote.ssl=false"
--class SparkApp \
sparkApp.jar
덧붙여서 driver의 조사를 실시하고 싶은 경우는 spark.driver.extraJavaOptions
에 같은 옵션을 건네주면 JMX를 유효화할 수 있습니다.
JMX 연결
Spark 애플리케이션을 실행하는 서버를 공개합니다.
Spark는 클러스터에서 실행되므로 실행 중인 서버가 항상 동일하지는 않습니다.
여러가지 방법이 있다고 생각합니다만 나는 Spark의 WEB UI상에서 executor 탭을 열어 조사하는 경우가 많습니다.
executor가 바인드하는 포트를 검사합니다.
무작위로 할당되므로 실행 중인 서버에 위에서 JVM이 바인딩된 포트 목록을 표시합니다.
lsof와 grep 등을 구사하면 낼 수 있다고 생각합니다.
JMX 클라이언트 연결
JMX 클라이언트는 여러 가지가 있지만 이번에는 Java에 표준으로 따라오는 Java VisualVM을 선택했습니다.
패스가 다니면 아래에서 시작할 수 있다고 생각합니다.
jvisualvm &
실행 중인 SparkStreaming을 조사하고 힙 덤프를 수행할 수 있었습니다.
(이미지는 이미지입니다)
참고 자료
htps : // / cs. 오라 cぇ. 코 m/쟈ゔぁせ/jp/1.5.0/구이데/마나게멘 t/아겐 t. HTML
h tps : // s t c ゔ ぇ rf ぉ w. 코m/쿠에 s치온 s/45435237
Reference
이 문제에 관하여(SparkStreaming에 JMX를 연결하여 조사하기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/apollo_program/items/809114affb335ee43298
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
spark2-submit \
--master yarn \
--conf "spark.executor.extraJavaOptions= \
-Dcom.sun.management.jmxremote \
-Dcom.sun.management.jmxremote.port=0 \
-Dcom.sun.management.jmxremote.authenticate=false \
-Dcom.sun.management.jmxremote.ssl=false"
--class SparkApp \
sparkApp.jar
Spark 애플리케이션을 실행하는 서버를 공개합니다.
Spark는 클러스터에서 실행되므로 실행 중인 서버가 항상 동일하지는 않습니다.
여러가지 방법이 있다고 생각합니다만 나는 Spark의 WEB UI상에서 executor 탭을 열어 조사하는 경우가 많습니다.
executor가 바인드하는 포트를 검사합니다.
무작위로 할당되므로 실행 중인 서버에 위에서 JVM이 바인딩된 포트 목록을 표시합니다.
lsof와 grep 등을 구사하면 낼 수 있다고 생각합니다.
JMX 클라이언트 연결
JMX 클라이언트는 여러 가지가 있지만 이번에는 Java에 표준으로 따라오는 Java VisualVM을 선택했습니다.
패스가 다니면 아래에서 시작할 수 있다고 생각합니다.
jvisualvm &
실행 중인 SparkStreaming을 조사하고 힙 덤프를 수행할 수 있었습니다.
(이미지는 이미지입니다)
참고 자료
htps : // / cs. 오라 cぇ. 코 m/쟈ゔぁせ/jp/1.5.0/구이데/마나게멘 t/아겐 t. HTML
h tps : // s t c ゔ ぇ rf ぉ w. 코m/쿠에 s치온 s/45435237
Reference
이 문제에 관하여(SparkStreaming에 JMX를 연결하여 조사하기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/apollo_program/items/809114affb335ee43298
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
jvisualvm &
htps : // / cs. 오라 cぇ. 코 m/쟈ゔぁせ/jp/1.5.0/구이데/마나게멘 t/아겐 t. HTML
h tps : // s t c ゔ ぇ rf ぉ w. 코m/쿠에 s치온 s/45435237
Reference
이 문제에 관하여(SparkStreaming에 JMX를 연결하여 조사하기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/apollo_program/items/809114affb335ee43298텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)