@[toc]
完整报错
Failed to monitor Job[-1] with exception 'java.lang.IllegalStateException(Connection to remote Spark driver was lost)' Last known state = SENTFailed to execute spark task, with exception 'java.lang.IllegalStateException(RPC channel is closed.)'
FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.spark.SparkTask. RPC channel is closed.
出现原因
刚刚搭建完 Hive On Spark,测试时出现该错误。
查看完整日志发现错误:
java.io.FileNotFoundException: Jar hdfs://master:8020/tmp/hive/ds/_spark_session_dir/8e9e26b4-dc53-43c7-b39d-65eb600324b5/hive-exec-3.1.3.jar not found解决方法
在 Spark 中找不到 hive-exec-3.1.3.jar
包,因为该包属于 Hive,所以需要从 Hive 中拷贝一份到 Spark 中。
cp $HIVE_HOME/lib/hive-exec-3.1.3.jar $SPARK_HOME/jars/
这里拷贝完成了还不行,因为我们在部署 Hive On Spark 时,通常会上传一份 Spark 的 jars
目录到 HDFS 上,故该包同样需要上传。
hdfs dfs -put $HIVE_HOME/lib/hive-exec-3.1.3.jar /spark-jars/
我在 HDFS 上存储 Spark jars 目录的路径是 /spark-jars/
,请注意将其修改成你自己的。
修改完成后,重启 Hive 元数据服务,再次测试,问题解决。