반응형
Notice
Link
스택큐힙리스트
Spark에서 INFO 로깅을 끄는 방법은 다음과 같습니다. 본문
반응형
스파크 커맨드:
/Library/Java/JavaVirtualMachines/jdk1.8.0_05.jdk/Contents/Home/bin/java
-cp :/root/spark-1.0.1-bin-hadoop2/conf:/root/spark-1.0.1-bin-hadoop2/conf:/root/spark-1.0.1-bin-hadoop2/lib/spark-assembly-1.0.1-hadoop2.2.0.jar:/root/spark-1.0.1-bin-hadoop2/lib/datanucleus-api-jdo-3.2.1.jar:/root/spark-1.0.1-bin-hadoop2/lib/datanucleus-core-3.2.2.jar:/root/spark-1.0.1-bin-hadoop2/lib/datanucleus-rdbms-3.2.1.jar
-XX:MaxPermSize=128m -Djava.library.path= -Xms512m -Xmx512m org.apache.spark.deploy.SparkSubmit spark-shell --class
org.apache.spark.repl.Main
spark-env.sh
의 내용:
#!/usr/bin/env bash
# 이 파일은 여러 Spark 프로그램을 실행할 때 소스로 사용됩니다.
# 이를 spark-env.sh로 복사하고 사이트에 맞게 Spark를 구성하십시오.
# 다음 옵션은
# ./bin/run-example 또는 ./bin/spark-submit을 사용하여 로컬에서 프로그램을 실행할 때 읽힙니다.
# - HADOOP_CONF_DIR: Spark를 Hadoop 구성 파일로 연결하기 위해 사용됩니다.
# - SPARK_LOCAL_IP: 해당 노드에서 Spark가 바인딩할 IP 주소를 설정하기 위해 사용됩니다.
# - SPARK_PUBLIC_DNS: 드라이버 프로그램의 공개 DNS 이름을 설정하기 위해 사용됩니다.
# - SPARK_CLASSPATH=/root/spark-1.0.1-bin-hadoop2/conf/
# 클러스터 내부에서 실행되는 실행자(executor) 및 드라이버(driver)가 읽는 옵션
# - SPARK_LOCAL_IP: 해당 노드에서 Spark가 바인딩할 IP 주소를 설정하기 위해 사용됩니다.
# - SPARK_PUBLIC_DNS: 드라이버 프로그램의 공개 DNS 이름을 설정하기 위해 사용됩니다.
# - SPARK_CLASSPATH: 기본적인 클래스패스 항목을 추가합니다.
# - SPARK_LOCAL_DIRS: 이 노드에서 셔플 및 RDD 데이터에 사용할 스토리지 디렉토리입니다.
# - MESOS_NATIVE_LIBRARY: Mesos를 사용하는 경우 libmesos.so의 경로를 지정합니다.
# YARN 클라이언트 모드에서 읽히는 옵션
# - HADOOP_CONF_DIR: Spark를 Hadoop 구성 파일로 연결하기 위해 사용됩니다.
# - SPARK_EXECUTOR_INSTANCES: 시작할 워커(worker) 수 (기본값: 2)
# - SPARK_EXECUTOR_CORES: 워커(worker)의 코어 수 (기본값: 1)
# - SPARK_EXECUTOR_MEMORY: 워커(worker) 당 메모리 (예: 1000M, 2G) (기본값: 1G)
# - SPARK_DRIVER_MEMORY: 마스터(master)의 메모리 (예: 1000M, 2G) (기본값: 512 Mb)
# - SPARK_YARN_APP_NAME: 애플리케이션의 이름 (기본값: Spark)
# - SPARK_YARN_QUEUE: 할당 요청에 사용할 하둡 큐 (기본값: 'default')
# - SPARK_YARN_DIST_FILES: 작업과 함께 배포할 파일들의 쉼표로 구분된 목록입니다.
# - SPARK_YARN_DIST_ARCHIVES: 작업과 함께 배포할 아카이브 파일들의 쉼표로 구분된 목록입니다.
# 독립형 모드에서 사용되는 데몬(daemon) 옵션:
# - SPARK_MASTER_IP: 마스터를 다른 IP 주소나 호스트 이름에 바인딩하기 위해 사용됩니다.
# - SPARK_MASTER_PORT / SPARK_MASTER_WEBUI_PORT: 마스터에 대해 비-default 포트를 사용하기 위해 사용됩니다.
# - SPARK_MASTER_OPTS: 마스터에 대해서만 구성 속성을 설정하기 위해 사용됩니다. (예: -Dx=y)
# - SPARK_WORKER_CORES: 이 머신에서 사용할 코어 수를 설정합니다.
# - SPARK_WORKER_MEMORY: 작업자(worker)가 실행자(executor)에게 제공할 총 메모리를 설정합니다. (예: 1000m, 2g)
# - SPARK_WORKER_PORT / SPARK_WORKER_WEBUI_PORT: 작업자(worker)에 대해 비-default 포트를 사용하기 위해 사용됩니다.
# - SPARK_WORKER_INSTANCES: 노드당 작업자 프로세스(worker process) 수를 설정합니다.
# - SPARK_WORKER_DIR: 작업자 프로세스(worker process)의 작업 디렉토리를 설정합니다.
# - SPARK_WORKER_OPTS: 작업자(worker)에 대해서만 구성 속성을 설정하기 위해 사용됩니다. (예: -Dx=y)
# - SPARK_HISTORY_OPTS: 히스토리 서버(history server)에 대해서만 구성 속성을 설정하기 위해 사용됩니다. (예: -Dx=y)
# - SPARK_DAEMON_JAVA_OPTS: 모든 데몬(daemon)에 대한 구성 속성을 설정하기 위해 사용됩니다. (예: -Dx=y)
# - SPARK_PUBLIC_DNS: 마스터(master) 또는 작업자(worker)의 공개 DNS 이름을 설정하기 위해 사용됩니다.
export SPARK_SUBMIT_CLASSPATH=$FWDIR/conf
답변 1
스파크 디렉토리에서 다음 명령어를 실행하십시오:
cp conf/log4j.properties.template conf/log4j.properties
log4j.properties를 편집하십시오:
# 모든 것이 콘솔에 기록되도록 설정
log4j.rootCategory=INFO, console
log4j.appender.console=org.apache.log4j.ConsoleAppender
log4j.appender.console.target=System.err
log4j.appender.console.layout=org.apache.log4j.PatternLayout
log4j.appender.console.layout.ConversionPattern=%d{yy/MM/dd HH:mm:ss} %p %c{1}: %m%n
# 너무 상세한 제3자 로그를 조용하게 설정하는 옵션
log4j.logger.org.eclipse.jetty=WARN
log4j.logger.org.eclipse.jetty.util.component.AbstractLifeCycle=ERROR
log4j.logger.org.apache.spark.repl.SparkIMain$exprTyper=INFO
log4j.logger.org.apache.spark.repl.SparkILoop$SparkILoopInterpreter=INFO
첫 번째 줄을 다음으로 대체하십시오:
log4j.rootCategory=WARN, console
셀을 저장하고 재시작하세요. 제 경우에는 OS X에서 Spark 1.1.0 및 Spark 1.5.1에서 작동합니다.
답변 2
스파크에서 INFO 로깅을 끄는 방법에 대해 알아보겠습니다. 스파크는 큰 데이터 집합을 처리하기 위한 오픈 소스 분산 처리 시스템으로 많은 양의 데이터를 다루는 데 적합합니다. 그러나 때로는 로그 메시지가 과도하게 출력되어 출력 창을 혼란스럽게 만들기도 합니다. 이러한 경우에는 사용자가 원하는 로깅 레벨로 조정할 수 있습니다.스파크에서 로그 레벨은 `log4j.properties` 파일을 통해 설정됩니다. 따라서 로깅 레벨을 변경하려면 이 파일을 수정해야 합니다. 아래는 로그 레벨을 WARN으로 설정하여 INFO 로그를 끄는 방법입니다.
1. 먼저, `log4j.properties` 파일을 찾습니다. 이 파일은 스파크 설치 디렉토리의 `conf` 폴더에 위치합니다.
2. `log4j.properties` 파일을 열어 수정합니다.
3. `log4j.rootCategory` 또는 `log4j.logger.org.apache.spark` 라인을 찾습니다. 이 두 줄은 로그 레벨을 설정하는 데 사용됩니다.
4. 로그 레벨을 `INFO`에서 `WARN`으로 변경합니다. 예를 들면 다음과 같이 수정할 수 있습니다.
```
log4j.rootCategory=WARN, console
log4j.logger.org.apache.spark=WARN
```
5. 파일을 저장하고 닫습니다.
이제 INFO 로깅이 비활성화되었으며, 스파크는 이제 더 이상 INFO 로그를 출력하지 않습니다. 대신 WARN 수준 이상의 로그만 출력합니다. 이로써 사용자는 출력 창을 깔끔하게 유지하면서 필요한 로그 정보를 확인할 수 있습니다.
스파크에서 INFO 로깅을 끄는 방법에 대해 소개드렸습니다. 이제 사용자는 더 나은 로깅 환경을 구성하여 스파크를 효과적으로 활용할 수 있습니다.
반응형
Comments