복붙노트

[HADOOP] 하이브는 스파크에 : 스파크 클라이언트를 만들 수 없습니다

HADOOP

하이브는 스파크에 : 스파크 클라이언트를 만들 수 없습니다

내가 단일 인스턴스에 스파크 2.1.0 작업에 하이브 2.1.1를 만들기 위해 노력하고있어. 그게 올바른 방법입니다 확실하지 않다. 내가 클러스터를 구축 할 수 있도록 현재 내가 하나의 인스턴스 만 있습니다.

내가 하이브에있는 삽입 쿼리를 실행하면, 나는 오류가 발생합니다 :

hive> insert into mcus (id, name) values (1, 'ARM');
Query ID = server_20170223121333_416506b4-13ba-45a4-a0a2-8417b187e8cc
Total jobs = 1
Launching Job 1 out of 1
In order to change the average load for a reducer (in bytes):
  set hive.exec.reducers.bytes.per.reducer=<number>
In order to limit the maximum number of reducers:
  set hive.exec.reducers.max=<number>
In order to set a constant number of reducers:
  set mapreduce.job.reduces=<number>
Using Spark's default log4j profile: org/apache/spark/log4j-defaults.properties
Failed to execute spark task, with exception 'org.apache.hadoop.hive.ql.metadata.HiveException(Failed to create spark client.)'
FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.spark.SparkTask

나는 HDFS DFS -ls / 스파크 / 이벤트 로그에서 어떤 스파크 로그를 찾을 수 없기 때문에 내가 제대로 구성하지 않은 것을 두려워 해요. 여기에 스파크 및 원사 관련이 내 하이브를 site.xml의 일부는 다음과 같습니다

<property>
     <name>hive.exec.stagingdir</name>
     <value>/tmp/hive-staging</value>
 </property>

 <property>
     <name>hive.fetch.task.conversion</name>
     <value>more</value>
 </property>

 <property>
     <name>hive.execution.engine</name>
     <value>spark</value>
 </property>

 <property>
     <name>spark.master</name>
     <value>spark://ThinkPad-W550s-Lab:7077</value>
 </property>

 <property>
     <name>spark.eventLog.enabled</name>
     <value>true</value>
 </property>

 <property>
     <name>spark.eventLog.dir</name>
     <value>hdfs://localhost:8020/spark/eventlog</value>
 </property>
 <property>
     <name>spark.executor.memory</name>
     <value>2g</value>
 </property>

 <property>
     <name>spark.serializer</name>
     <value>org.apache.spark.serializer.KryoSerializer</value>
 </property>

 <property>
     <name>spark.home</name>
     <value>/home/server/spark</value>
 </property>

 <property>
     <name>spark.yarn.jar</name>
     <value>hdfs://localhost:8020/spark-jars/*</value>
 </property>

1) 나는 그냥 HDFS를 사용할 수, 하둡에서 fs.default.name 값을 구성하지 않았기 때문에 : // localhost를 : 파일 시스템 설정 파일의 경로 또는 9000 포트를 변경으로 8020 (I 얻을 같은 오류 나는) 9000 8020를 변경할 때?

2) 내가 start-master.sh과 start-slave.sh 스파크에 의해 점화를 시작합니다 : // 씽크 패드-W550s - 연구소 : 7077, 그것은 올바른?

3)이 스레드에 따르면, 어떻게 yarn.scheduler.maximum 할당-MB와 yarn.nodemanager.resource.memory-MB의 값을 설정하기 위해 스파크 실행기 메모리 + 오버 헤드 값을 확인할 수 있을까?

yarn.scheduler.maximum 할당-MB와 yarn.nodemanager.resource.memory-MB의 값 spark.executor.memory보다 훨씬 크다.

4) 어떻게 해결할 수는 스파크 클라이언트 오류를 ​​만들지 못했습니다? 고마워요!

해결법

  1. ==============================

    1.3 번째 질문의 경우, 실-default.xml에 파일에 yarn.scheduler.maximum 할당-mb 및 yarn.nodemanager.resource.memory-MB property는의 값을 찾을 수 있습니다. 당신이 실 자원 관리자에 액세스 할 수있는 경우 또는, 당신은 도구 - 아래의 값을 찾을 수 있습니다> 구성 (XML)

    3 번째 질문의 경우, 실-default.xml에 파일에 yarn.scheduler.maximum 할당-mb 및 yarn.nodemanager.resource.memory-MB property는의 값을 찾을 수 있습니다. 당신이 실 자원 관리자에 액세스 할 수있는 경우 또는, 당신은 도구 - 아래의 값을 찾을 수 있습니다> 구성 (XML)

  2. ==============================

    2.내 경우, spark.yarn.appMasterEnv.JAVA_HOME 속성을 설정하는 것은 문제가 있었다.

    내 경우, spark.yarn.appMasterEnv.JAVA_HOME 속성을 설정하는 것은 문제가 있었다.

    고치다...

      <property>
        <name>spark.executorEnv.JAVA_HOME</name>
        <value>${HADOOP CLUSTER JDK PATH}</value>
        <description>Must be hadoop cluster jdk PATH.</description>
      </property>
    
      <property>
          <name>spark.yarn.appMasterEnv.JAVA_HOME</name>
          <value>${HADOOP CLUSTER JDK PATH}</value>
          <description>Must be hadoop cluster jdk PATH.</description>
      </property>
    
  3. from https://stackoverflow.com/questions/42422789/hive-on-spark-failed-to-create-spark-client by cc-by-sa and MIT license