[HADOOP] 원사 클라이언트 모드에서 원격 마스터 노드에서 스파크 작업을 제출하는 방법은 무엇입니까?
HADOOP원사 클라이언트 모드에서 원격 마스터 노드에서 스파크 작업을 제출하는 방법은 무엇입니까?
원격 스파크 클러스터에 스파크 앱 / 작업을 제출해야합니다. 현재 머신과 마스터 노드의 IP 주소를 원사 클라이언트로 발동했습니다. Btw 내 컴퓨터가 클러스터에 없습니다. 이 명령으로 내 직업을 제출합니다.
./spark-submit --class SparkTest --deploy-mode client /home/vm/app.jar
내 주인의 주소가 내 앱에 하드 코드 된 형태로 있습니다.
val spark_master = spark://IP:7077
그럼에도 불구하고 오류가 발생했습니다.
16/06/06 03:04:34 INFO AppClient$ClientEndpoint: Connecting to master spark://IP:7077...
16/06/06 03:04:34 WARN AppClient$ClientEndpoint: Failed to connect to master IP:7077
java.io.IOException: Failed to connect to /IP:7077
at org.apache.spark.network.client.TransportClientFactory.createClient(TransportClientFactory.java:216)
at org.apache.spark.network.client.TransportClientFactory.createClient(TransportClientFactory.java:167)
at org.apache.spark.rpc.netty.NettyRpcEnv.createClient(NettyRpcEnv.scala:200)
at org.apache.spark.rpc.netty.Outbox$$anon$1.call(Outbox.scala:187)
at org.apache.spark.rpc.netty.Outbox$$anon$1.call(Outbox.scala:183)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
Caused by: java.net.ConnectException: Connection refused: /IP:7077
또는 대신 내가 사용하면
./spark-submit --class SparkTest --master yarn --deploy-mode client /home/vm/test.jar
나는 얻다
Exception in thread "main" java.lang.Exception: When running with master 'yarn' either HADOOP_CONF_DIR or YARN_CONF_DIR must be set in the environment.
at org.apache.spark.deploy.SparkSubmitArguments.validateSubmitArguments(SparkSubmitArguments.scala:251)
at org.apache.spark.deploy.SparkSubmitArguments.validateArguments(SparkSubmitArguments.scala:228)
at org.apache.spark.deploy.SparkSubmitArguments.<init>(SparkSubmitArguments.scala:109)
at org.apache.spark.deploy.SparkSubmit$.main(SparkSubmit.scala:114)
at org.apache.spark.deploy.SparkSubmit.main(SparkSubmit.scala)
내 워크 스테이션에 hadoop을 구성해야합니까? 모든 작업은 원격으로 수행되며이 시스템은 클러스터의 일부가 아닙니다. Spark 1.6.1을 사용하고 있습니다.
해결법
-
==============================
1.우선, 애플리케이션 코드에서 conf.setMaster (...)를 설정하는 경우 (--master 인수보다) 우선 순위가 가장 높습니다. 원사 클라이언트 모드에서 실행하려면 응용 프로그램 코드에서 MASTER_IP : 7077을 사용하지 마십시오. 다음과 같이 hadoop 클라이언트 설정 파일을 드라이버에 제공해야합니다.
우선, 애플리케이션 코드에서 conf.setMaster (...)를 설정하는 경우 (--master 인수보다) 우선 순위가 가장 높습니다. 원사 클라이언트 모드에서 실행하려면 응용 프로그램 코드에서 MASTER_IP : 7077을 사용하지 마십시오. 다음과 같이 hadoop 클라이언트 설정 파일을 드라이버에 제공해야합니다.
클라이언트 구성을 포함하는 디렉토리를 가리 키도록 환경 변수 HADOOP_CONF_DIR 또는 YARN_CONF_DIR을 설정해야합니다.
http://spark.apache.org/docs/latest/running-on-yarn.html
스파크 애플리케이션에서 사용중인 hadoop 기능에 따라 구성 파일을 조회하는 데 일부 구성 파일이 사용됩니다. (spark-sql에서 HiveContext를 통해) 하이브를 사용하고 있다면, hive-site.xml을 찾을 것입니다. hdfs-site.xml은 작업에서 HDFS 로의 NameNode 읽기 / 쓰기 좌표를 조회하는 데 사용됩니다.
from https://stackoverflow.com/questions/37648426/how-to-submit-a-spark-job-on-a-remote-master-node-in-yarn-client-mode by cc-by-sa and MIT license
'HADOOP' 카테고리의 다른 글
[HADOOP] hdfs는 저장할 데이터 노드를 어떻게 선택합니까? (0) | 2019.06.07 |
---|---|
[HADOOP] Hadoop HDFS - 마스터의 포트에 연결할 수 없음 (0) | 2019.06.07 |
[HADOOP] get "오류 : ZooKeeper에서 마스터 주소를 가져올 수 없습니다. znode data == null "Hbase 쉘을 사용할 때 (0) | 2019.06.07 |
[HADOOP] YARN의 로그 파일을 보관하는 방법은 무엇입니까? (0) | 2019.06.07 |
[HADOOP] Pyspark : HDFS 경로에있는 파일 / 디렉토리 목록 가져 오기 (0) | 2019.06.07 |