[英]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-mb
和yarn.nodemanager.resource.memory-mb
?
yarn.scheduler.maximum-allocation-mb
和yarn.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.