2014-06-10 1 views
0

나는 Spark 작업을 클러스터에 제출할 기계 A를 사용하고 싶습니다. A에는 스파크 환경이없고 java 만 있습니다. jar를 실행하면 HTTP 서버가 시작됩니다.머신에서 스파크 항아리를 시작할 때 HTTP 서버가 시작됩니다. 그게 뭐죠?

[[email protected] ~]$ java -jar helloCluster.jar SimplyApp 
log4j:WARN No appenders could be found for logger (akka.event.slf4j.Slf4jLogger). 
log4j:WARN Please initialize the log4j system properly. 
log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info. 
14/06/10 16:54:54 INFO SparkEnv: Using Spark's default log4j profile: org/apache/spark/log4j-defaults.properties 
14/06/10 16:54:54 INFO SparkEnv: Registering BlockManagerMaster 
14/06/10 16:54:54 INFO DiskBlockManager: Created local directory at /tmp/spark-local-20140610165454-4393 
14/06/10 16:54:54 INFO MemoryStore: MemoryStore started with capacity 1055.1 MB. 
14/06/10 16:54:54 INFO ConnectionManager: Bound socket to port 59981 with id = ConnectionManagerId(bj-230,59981) 
14/06/10 16:54:54 INFO BlockManagerMaster: Trying to register BlockManager 
14/06/10 16:54:54 INFO BlockManagerMasterActor$BlockManagerInfo: Registering block manager bj-230:59981 with 1055.1 MB RAM 
14/06/10 16:54:54 INFO BlockManagerMaster: Registered BlockManager 
14/06/10 16:54:54 INFO HttpServer: Starting HTTP Server 
14/06/10 16:54:54 INFO HttpBroadcast: Broadcast server started at http://10.10.10.230:59233 
14/06/10 16:54:54 INFO SparkEnv: Registering MapOutputTracker 
14/06/10 16:54:54 INFO HttpFileServer: HTTP File server directory is /tmp/spark-bfdd02f1-3c02-4233-854f-af89542b9acf 
14/06/10 16:54:54 INFO HttpServer: Starting HTTP Server 
14/06/10 16:54:54 INFO SparkUI: Started Spark Web UI at http://bj-230:4040 
14/06/10 16:54:54 INFO SparkContext: Added JAR hdfs://master:8020/tmp/helloCluster.jar at hdfs://master:8020/tmp/helloCluster.jar with timestamp 1402390494838 
14/06/10 16:54:54 INFO AppClient$ClientActor: Connecting to master spark://master:7077... 

그래서이 서버의 의미는 무엇입니까? 그리고 NAT가 설치된 경우이 컴퓨터 A를 사용하여 원격 클러스터에 내 작업을 제출할 수 있습니까?

그런데이 실행 결과는 실패합니다. 오류 로그 :

14/06/10 16:55:05 INFO SparkDeploySchedulerBackend: Executor app-20140610165321-0005/7 removed: Command exited with code 1 
14/06/10 16:55:05 ERROR AppClient$ClientActor: Master removed our application: FAILED; stopping client 
14/06/10 16:55:05 WARN SparkDeploySchedulerBackend: Disconnected from Spark cluster! Waiting for reconnection... 
14/06/10 16:55:11 WARN TaskSchedulerImpl: Initial job has not accepted any resources; check your cluster UI to ensure that workers are registered and have sufficient memory 
+0

SparkConf에 대한 마스터를 설정 했습니까? 당신이 선언 한 SparkContext를 닫았습니까? – eliasah

+0

@eliasah'val sc = 새 SparkContext ( "spark : // master : 7077", "간단한 응용 프로그램", "/opt/spark-0.9.1-bin-cdh4", // spark home 목록 "hdfs : // master : 8020/tmp/helloCluster.jar") // jar 위치 )'닫힌 SparkContext의 의미를 이해하지 못합니까? – hakunami

+0

앱이 끝날 때까지는 앱이 올바르게 종료 될 수 있도록 sc.stop()을 넣어야합니다. – eliasah

답변

3

스파크 드라이버가 몇 HTTP 엔드 포인트를 시작합니다

  • 그것은 작업의 진행 상황을 표시하는 웹 콘솔을 제공합니다. 이 http 엔드 포인트는 기본 포트가 4040이며 구성 옵션 인 spark.ui.port을 사용하여 변경할 수 있습니다. 그런 다음 브라우저로 http://your_host:4040에 연결하면 작업을 수행 할 수 있습니다. 그것은 운전사가 달릴 때 단지 살아있다.

  • 종속성으로 선언 된 jars에 대한 파일 다운로드 서비스를 제공하는 추가 HTTP 끝점이 있습니다. 작업자는 드라이버에게 연락하여 종속성 목록을 다운로드합니다. 임의 할당 포트입니다. 따라서 드라이버는 Spark 직원이 라우팅 가능한 네트워크에 있어야합니다.

+0

NAT 뒤의 컴퓨터를 사용하여 원격 클러스터에 작업을 제출할 수 있습니까? – hakunami

+1

필자는 "운전자가 스파크 노동자들로부터 라우팅 가능한 네트워크에 있어야합니다"라는 말로 대답하려고했습니다. 원격 작업 제출을 위해 우리는 SparkJobServer : https://github.com/ooyala/spark-jobserver를 시도하고 있습니다. – maasg

관련 문제