簡體   English   中英

Spark上的Hive:無法創建spark客戶端

[英]Hive on Spark: Failed to create spark client

我試圖讓Spark 2.1.0上的Hive 2.1.1在單個實例上運行。 我不確定這是正確的做法。 目前我只有一個實例,所以我無法構建一個集群。

當我在hive中運行任何插入查詢時,我收到錯誤:

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 /spark/eventlog下找不到任何Spark日志。 這是我的hive-site.xml的一部分,它與Spark和Yarn有關:

<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)由於我沒有在hadoop中配置fs.default.name值,我可以使用hdfs://localhost:8020作為配置文件中的文件系統路徑,或者將端口更改為9000(我得到相同的錯誤當我將8020改為9000時)?

在此輸入圖像描述

2)我通過start-master.sh啟動spark並啟動start-slave.sh spark://ThinkPad-W550s-Lab:7077 ,這是正確的嗎?

3)根據這個帖子 ,我如何檢查Spark Executor Memory + Overhead的值,以便設置yarn.scheduler.maximum-allocation-mbyarn.nodemanager.resource.memory-mb

yarn.scheduler.maximum-allocation-mbyarn.nodemanager.resource.memory-mb的值遠大於spark.executor.memory

4)我怎樣才能修復Failed to create spark client錯誤的Failed to create spark client 非常感謝!

對於第3個問題,您可以在yarn-default.xml文件中找到yarn.scheduler.maximum-allocation-mb和yarn.nodemanager.resource.memory-mb的值。 或者,如果您有權訪問yarn資源管理器,則可以在Tools-> Configuration(xml)下找到值。

在我的例子中,設置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>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM